清風はあなたを連れて-H 5+CSS 3(5)の移動端のスライド、ジェスチャー、配置を学びます.
5353 ワード
M-web touchイベントの使用を知る 独立にjdMのロードショーを完成しました. エリアスクロールプラグインの使用を把握する ジェスチャーイベントの原理を知る less運転環境nodeJS をインストールします.
タッチ事件
事件に触れる
イベント
説明
touch start
このイベントは、スクリーンに指を触れたときにトリガされます.
touchmove
画面を指でスライドさせるとイベントが発生します.
タッチパッド
このイベントは、画面から指を離すとトリガされます.
touchcancel
システムがトレース停止(強制終了)すると触発されます.
タッチポイント集合
タッチポイント集合
説明
タージタッチ
ターゲット要素のすべての現在のタッチポイントセット
changed Touches
ターゲット要素の最新変更のタッチポイントセット
touches
ページ上のすべてのタッチポイントの集合
注意:touchendイベントの時にイベントはchanged touchesのみ記録されます.
座標グループ
点座標
説明
pageX/pageY
ページサイズに基づく座標
clientX/client Y
ビューサイズによる座標
screenX/screenY
スクリーンサイズに基づく座標
IScroll
プラグインの紹介
エリアスクロールプラグインは、移動端のページスクロール効果に対して不一致を示したり、アップロードなどの効果が必要なページをアップデートしたりと、スクロール効果を高速に実現することができます.
プラグインの使用
IScrollはクラスで、スクロール機能が必要なエリアごとに初期化します.各ページのiScrollの例の数は、デバイスのCPUとメモリが許容できる範囲内に限定されない.
できるだけDOM構造の簡潔さを維持する.iScurollはハードウェア合成層を使用しているが、ハードウェアで処理できる要素を制限している.最適なHTML構造は以下の通りです.
基本的なスクリプトを初期化する方法は以下の通りです.
ジェスチャーイベント
轻触事件tap
初期のモバイル端末ページをダブルクリックしてスケーリングできますので、ダブルクリック操作を検出するために、clickの応答時間を延長しました.200-300 msです.
最初のソリューション:
ジェスチャーイベント:スライド、左滑り、右滑り、上滑り、下振れ(swipeは移動端庫zepo.jsで使います)
背景のプロパティ
大きな容器の真ん中に小さな背景図が表示されます. background-origgin 背景平屋の起点 デフォルトでは、内側のマージンからフラット を開始します. padding-boxは内側のマージンから並べて を敷きます. border-boxはフレームから平たく です. contentt-boxは、コンテンツから並べて を展開します.
background-clip 背景図クロップ デフォルトの裁断方法の枠以外の裁断 border-boxフレーム以外の裁断 padding-boxの内側の余白以外は裁断されます. content-boxコンテンツ以外の裁断 移動端のよくあるスライド効果を完成し、移動端ジェスチャーイベントの原理を理解し、よくある移動端レイアウトを把握する.
私はスピリッツで、中国語<晟世清風>と申します.乱世の中で清流の風が吹いてほしいです.
タッチ事件
事件に触れる
イベント
説明
touch start
このイベントは、スクリーンに指を触れたときにトリガされます.
touchmove
画面を指でスライドさせるとイベントが発生します.
タッチパッド
このイベントは、画面から指を離すとトリガされます.
touchcancel
システムがトレース停止(強制終了)すると触発されます.
タッチポイント集合
タッチポイント集合
説明
タージタッチ
ターゲット要素のすべての現在のタッチポイントセット
changed Touches
ターゲット要素の最新変更のタッチポイントセット
touches
ページ上のすべてのタッチポイントの集合
注意:touchendイベントの時にイベントはchanged touchesのみ記録されます.
座標グループ
点座標
説明
pageX/pageY
ページサイズに基づく座標
clientX/client Y
ビューサイズによる座標
screenX/screenY
スクリーンサイズに基づく座標
IScroll
プラグインの紹介
エリアスクロールプラグインは、移動端のページスクロール効果に対して不一致を示したり、アップロードなどの効果が必要なページをアップデートしたりと、スクロール効果を高速に実現することができます.
プラグインの使用
IScrollはクラスで、スクロール機能が必要なエリアごとに初期化します.各ページのiScrollの例の数は、デバイスのCPUとメモリが許容できる範囲内に限定されない.
できるだけDOM構造の簡潔さを維持する.iScurollはハードウェア合成層を使用しているが、ハードウェアで処理できる要素を制限している.最適なHTML構造は以下の通りです.
- ...
- ...
...
iScurollはスクロール領域の外層に作用する.上記の例では、UL要素はスクロール可能である.コンテナ要素の最初のサブ要素だけが転がります.他のサブ要素は完全に無視されます.基本的なスクリプトを初期化する方法は以下の通りです.
var myScroll = new IScroll('#wrapper');
最初のパラメータは、スクロール容器要素のDOMセレクタ文字列であっても良いし、スクロールコンテナ要素の参照オブジェクトであっても良い.以下は有効な文法です.var wrapper = document.getElementById('wrapper');
var myScroll = new IScroll(wrapper);
基本的には、要素を直接伝達するか、またはQerySelector文字列を伝えます.したがって、IDの代わりにcss名を使用して、スクロール容器を選択することができます.var myScroll = new IScroll('.wrapper');
なお、iScurollはquerySelectorAllではなく、querySelectorallを使用していますので、iScullは選択された要素の最初の一つにしか作用しません.複数のオブジェクトに対してiScurollを使用する必要がある場合は、自分のサイクル機構を構築する必要があります.ジェスチャーイベント
轻触事件tap
初期のモバイル端末ページをダブルクリックしてスケーリングできますので、ダブルクリック操作を検出するために、clickの応答時間を延長しました.200-300 msです.
最初のソリューション:
/* tap (tap zepto.js )*/
/*1. click 150ms */
/*2. */
var bindTapEvent = function (dom, callback) {
var startTime = 0;
var isMove = false;
dom.addEventListener('touchstart', function () {
startTime = Date.now();
});
dom.addEventListener('touchmove', function () {
isMove = true;
});
dom.addEventListener('touchend', function (e) {
if ((Date.now() - startTime) < 150 && !isMove) {
callback && callback.call(this, e);
}
startTime = 0;
isMove = false;
});
}
第二の解決策:
/* dom jquery $(function(){});*/
document.addEventListener('DOMContentLoaded', function() {
/* */
FastClick.attach(document.body);
}, false);
/* click */
ジェスチャーイベントswipeジェスチャーイベント:スライド、左滑り、右滑り、上滑り、下振れ(swipeは移動端庫zepo.jsで使います)
/*1. */
/*2. swipe swipeLeft swipeRight swipeUp swipeDown */
/*3. */
var bindSwipeEvent = function (dom,leftCallback,rightCallback) {
/* */
/*1. */
/*2. 50px*/
var isMove = false;
var startX = 0;
var distanceX = 0;
dom.addEventListener('touchstart',function (e) {
startX = e.touches[0].clientX;
});
dom.addEventListener('touchmove',function (e) {
isMove = true;
var moveX = e.touches[0].clientX;
distanceX = moveX - startX;
});
dom.addEventListener('touchend',function (e) {
/* */
if(isMove && Math.abs(distanceX) > 50){
if(distanceX > 0){
rightCallback && rightCallback.call(this,e);
}else{
leftCallback && leftCallback.call(this,e);
}
}
/* */
isMove = false;
startX = 0;
distanceX = 0;
});
}
bindSwipeEvent(document.querySelector('.box'),function (e) {
console.log(' ');
},function (e) {
console.log(' ');
});
分類ページ背景のプロパティ
大きな容器の真ん中に小さな背景図が表示されます.
私はスピリッツで、中国語<晟世清風>と申します.乱世の中で清流の風が吹いてほしいです.