手指在觸摸屏上滑動(dòng)時(shí)状土,該事件會(huì)連續(xù)觸發(fā)无蜂,
所以,最好在事件內(nèi)增加標(biāo)志位蒙谓,避免觸發(fā)多次斥季。
在此事件中绑莺,如果使用addClass
為元素增加樣式驮履,
會(huì)造成滑動(dòng)停止時(shí),元素的樣式才發(fā)生變化讹挎,
這是因?yàn)槎虝r(shí)間一直改變?cè)氐臉邮桨ǎ瑸g覽器進(jìn)行了保護(hù)躁锡,避免頻繁刷新元素樣式。
注意:
(1)重復(fù)使用addClass添加相同名字的樣式置侍,jQuery并不會(huì)增加多個(gè)同名class映之。
(2)雖然不會(huì)出現(xiàn)多個(gè)同名class,但是瀏覽器還是會(huì)等class短時(shí)間不再改變的時(shí)候蜡坊,再刷新元素杠输。Chrome,IE均如此秕衙。
$(document).bind('vmousemove',function(e){
//避免重復(fù)添加樣式
if(container.hasClass('testClass')){
return;
}
//只有滑動(dòng)足夠長(zhǎng)的距離才會(huì)添加樣式
// mousedownClientY:vmousedown的e.clientY
// SHORTEST_DISTANCE:最短滑動(dòng)距離蠢甲,可以設(shè)置為150
var isSlideUpEffective=(mousedownClientY-e.clientY>SHORTEST_DISTANCE);
if(!isSlideUpEffective){
return;
}
container.addClass('testClass');
});
這樣處理,才能在滑動(dòng)一段距離后据忘,為元素添加樣式鹦牛,并且馬上會(huì)刷新元素。