fccプロジェクト総括シリーズ1:個人作品展示ページ作成プロジェクトソース読み
5672 ワード
begin: 20170724 version: 20170724
この文はfccプロジェクト(個人作品展示ページ制作)に起源し、以前(fcc portfolioプロジェクト総括)を書いたことがあり、自分で独立してこのページを構築した総括である.本稿では、そのサンプルプロジェクトのソースコードの概要を参照します.
bootstrap3.3.5(css) font-awesome4.4.0(css)(font awesomeアイコンを使用) bootstrap3.3.5(js) jquery2.1.3(js) jquery-easing(js)プラグイン、jqueryアニメーションで利用可能な緩動関数オプションプラグインの概要、$.animate()メソッドは、使用時にeasing文字列パラメータを指定して、jqueryのデフォルトパラメータが
2.css
親エレメントで引用
この属性は互換性が高くなく,上述した互換性を考慮したルールie 9ではいずれもだめである.関連記事:flexbox-CSS 3フレキシブルボックスモデルflexboxレイアウト完全版チュートリアル A Complete Guide to Flexbox
一般的な使い方では、htmlに
もう1つの方法は、cssでunicode符号化で生成される.
各アイコンに対応するunicodeコードは、公式サイトで確認できます.
3.javascript
ブラウザビューポートの高さを取得する:
ビューポートの幅:
(混在モードで実行されるIEについては、document.documentElementの代わりにdocument.bodyを使用し、「jsハイウェイ」関連コードを参照)ビューポートの最小高さに基づくドキュメントの合計幅を取得ドキュメントの合計高さ:
ドキュメントの合計幅:
(ハイブリッドモードでIEはdocument.documentElementの代わりにdocument.bodyを使用し、「jsハイウェイ」関連コードを参照)ドキュメントのスクロール幅の高さを取得
MDNから
jqueryのon()メソッドは、同じ関数を複数の異なるイベントにバインドする場合に、次のようにマージして書くことができます.
また,この手法を用いてイベント依頼を行う場合,2番目のパラメータはセレクタであり,イベントバブル中の要素にのみ,セレクタを満たすとともに依頼された要素の子孫である要素が存在し,イベントがトリガーされる(event.target適合セレクタは必ずしも必要ない).
propertychangeイベントは互換性の低いバージョンのIEを用いる.
関数#カンスウ#
説明
.stop
現在のアニメーションを停止
.offset()
ページに対する要素のオフセットの取得
関数#カンスウ#
説明
.collapse('hide')
非表示要素折りたたみ可能要素collapseプラグインから
.scrollspy()
このメソッドは、リスニングされた要素(しばしば
この文はfccプロジェクト(個人作品展示ページ制作)に起源し、以前(fcc portfolioプロジェクト総括)を書いたことがあり、自分で独立してこのページを構築した総括である.本稿では、そのサンプルプロジェクトのソースコードの概要を参照します.
1.外部ファイル
'wing'
、直接ある'linear'
などのスロー関数を指定することができます.このプラグインには、オプションのスロー関数が拡張されており、文字列形式で名前を指定するだけでよい'easeInCubic'
'easeOutExpo'
などがあります.2.css
だんせいばこ
cssでは弾力性のある箱が使われており、以下のように解読されています.
display:flex;
互換性のために2つのルールがあるdisplay:-webkit-box;
display:-ms-flexbox;
・これにより、親要素の空間は要素に割り当てられます.flex-flow:row wrap;
水平表示、必要に応じて取りはずす.-ms-flex-pack:distribute;
・justify-content:around;
、空白部分はすべてのサブエレメント間で平均的に配分される.-webkit-box-align: start;
・-ms-flex-align: start;
・align-items:flex-start;
縦軸開始境界が揃う;この属性は互換性が高くなく,上述した互換性を考慮したルールie 9ではいずれもだめである.関連記事:
font awesome
一般的な使い方では、htmlに
i
ラベルを使用して、対応するクラスを追加します.
もう1つの方法は、cssでunicode符号化で生成される.
.icon:before{
content: '\f039';
font-family: FontAwesome;
}
各アイコンに対応するunicodeコードは、公式サイトで確認できます.
3.javascript
寸法と位置
jsファイルでは、要素のさまざまな寸法プロパティが大量に使用されています.ここでまとめます.
ツールバーの
意味
offsetHeight offsetWidth
説明要素の外側寸法、要素の内容+内側余白+枠線、外側余白とスクロールバーを含まない
offsetLeft offsetTop
エレメントの左上隅(枠線の外縁)と配置された親コンテナ(offsetParentオブジェクト)を記述します.エレメントがrelativeまたはabsoluteとして最も近い祖先エレメントは、存在しない場合nullを返します.左上隅の距離
clientWidth clientHeight
要素の内側寸法、要素の内容+内側の余白を説明して、枠(IEの下で実際に含む)、外側の余白、スクロールバーを含まない.スクロールバーは、親要素のコンテンツ領域+padding空間を占めます.
scrollWidth scrollHeight
要素コンテンツ+内側余白+オーバーフローサイズで、コンテンツがオーバーフローしていない場合、scrollWidthとscrollHeightは一般的にclientWidthとclientHeightと等しいが、実際にはブラウザによって異なる処理があり、必ずしも等しいとは限らない.
scrollLeft scrollTop
要素スクロールバーの位置、書き込み可能
jqueryメソッド
.width() .height()
要素の計算スタイルの幅を取得します.どのボックスモデルを使用しても、コンテンツ領域の幅のみを表します.$( window ).width();ブラウザビューポートの幅$(document)を取得します.width();ページ幅の取得
.offset()
ページに対する要素(外側距離を含まない)のオフセットオブジェクト(left、topプロパティ)を取得します.
.position()
取得要素(外距離を含まない)の親コンテナに対するオフセットオブジェクト(left、topプロパティ)
適用
window.innerWidth window.innerHeight
ブラウザビューポートの幅が高く、スクロールバーが含まれています.cssメディアクエリー(min-widthなど)は、スクリーン解像度ではなくこの解像度に基づいています.
window.screen.width window.screen.height
画面幅の高解像度
$(window).width() $(window).height()
スクロールバーを含まないブラウザビューポートの幅
document.body.offsetHeight document.body.offsetHeight
ページの合計高さ、body要素marginはそれに影響を与えるべきです
window.pageXOffset window.pageYOffset
PageXOffsetプロパティとpageYOffsetプロパティは、ドキュメントがウィンドウの左上隅で水平方向と垂直方向にスクロールするピクセルを返します.ie 8-はdocumentを使用できます.documentElement.scrollLeftとdocument.documentElement.scrollTop属性代替
window.innerHeight ||
document.documentElement.clientWidth ||
document.body.clientWidth
ビューポートの幅:
window.innerHeight ||
document.documentElement.clientHeight ||
document.body.clientHeight
(混在モードで実行されるIEについては、document.documentElementの代わりにdocument.bodyを使用し、「jsハイウェイ」関連コードを参照)
Math.max(document.documentElement.scrollHeight ||
document.documentElement.clientHeight)
ドキュメントの合計幅:
Math.max(document.documentElement.scrollWidth ||
document.documentElement.clientWidth)
(ハイブリッドモードでIEはdocument.documentElementの代わりにdocument.bodyを使用し、「jsハイウェイ」関連コードを参照)
//from MDN
var x = (window.pageXOffset !== undefined)
? window.pageXOffset
: (document.documentElement ||
document.body.parentNode ||
document.body).scrollLeft;
var y = (window.pageYOffset !== undefined)
? window.pageYOffset
: (document.documentElement ||
document.body.parentNode ||
document.body).scrollTop;
MDNから
イベント関連
.on()
jqueryのon()メソッドは、同じ関数を複数の異なるイベントにバインドする場合に、次のようにマージして書くことができます.
$('body')
.on('input propertychange','.form-item',function(event){
// jquery ,
//
//propertychange ie(8-)
$(this).toggleClass('form-item-filled',!!$(event.target).val());
})
また,この手法を用いてイベント依頼を行う場合,2番目のパラメータはセレクタであり,イベントバブル中の要素にのみ,セレクタを満たすとともに依頼された要素の子孫である要素が存在し,イベントがトリガーされる(event.target適合セレクタは必ずしも必要ない).
inputとpropertychangeイベント
input
イベントは、input
またはtextarea
要素の値が変更されたときにトリガーされます.このイベントはonchangeイベントに似ています.異なる点はoninputイベントが要素値が変化するとすぐにトリガーされ、onchangeは要素が焦点を失ったときにトリガーされます.もう一つの違いはonchangeイベントがkeygen
およびselect
要素にも作用することである.propertychangeイベントは互換性の低いバージョンのIEを用いる.
いくつかのjquery関数
関数#カンスウ#
説明
.stop
現在のアニメーションを停止
.offset()
ページに対する要素のオフセットの取得
bootstrapプラグイン関数
関数#カンスウ#
説明
.collapse('hide')
非表示要素折りたたみ可能要素collapseプラグインから
.scrollspy()
このメソッドは、リスニングされた要素(しばしば
body
)でアップグレードされ、パラメータは、アクティブ化されたリンクに従う必要がある場所を指定し、scrollspyプラグインから