xxx国产老太婆视频,91免费观看网站,久久狠狠高潮亚洲精品,国产综合免费视频,手机福利在线视频,**性23式(动)黄色毛片

Javascript Touch事件學習筆記4 實現一個APP框架二 向上滑動實現內容重新加載

歡歡歡歡 發表于 2014-7-30 07:30

在上篇筆記中(進入),簡略實現了網易新聞APP左右滑動的切屏效果。

這篇在上篇文章的基礎上來新增功能。

一:為了方便開發,在桌面瀏覽器上模擬touch事件。

1,因為,touch事件和mouse事件有著對應關系:touchustart對應mousedown;touchmove對應mousemove,touchend(touchcancel)對應mouseup。

新增如下事件綁定:

warpper.addEventListener("mousedown", this.CheckLeftStart, false);

warpper.addEventListener("mousemove", this.CheckLeftMove, false);

warpper.addEventListener("mouseup", this.CheckLeftEnd, false);

2,在獲取事件對象的時候,做如下處理

GetEventTargetObj: function (eventObj) {

        if (typeof eventObj.changedTouches != "undefined") {

            return eventObj.changedTouches[0];

        }

        else {

            return eventObj;

        }

    }

這樣就基本模擬了移動端的touch事件。具體使用參看demo。

 

二:實現下拉的刷新,事件的過程大致如下:

1:當內容滑動到頂部的時候,再往下下拉,出現提示“下拉可以刷新”,下拉到一定程度后,提示變成“松開可以刷新”.

2:當松開后(touchend)判斷,如果滿足重新加載ajax加載事件。

 

開發中遇到的障礙:

1,在桌面瀏覽器端(我使用的是Chrome),使用document.defaultView.getComputedStyle獲取的數值都是以像素為準,所以如果在定位的時候使用的不是像素,那么定位的時候就會出錯。

使用element.style["left"]來替代,就可以獲取的具體的值了。

2,重新理解一遍CSS3中的transition屬性,這里的所有滑動效果都是使用這個屬性來實現的。其中還專門去查了下transition-timing-function的屬性值。

 

描述
linear 規定以相同速度開始至結束的過渡效果(等于 cubic-bezier(0,0,1,1))。
ease 規定慢速開始,然后變快,然后慢速結束的過渡效果(cubic-bezier(0.25,0.1,0.25,1))。
ease-in 規定以慢速開始的過渡效果(等于 cubic-bezier(0.42,0,1,1))。
ease-out 規定以慢速結束的過渡效果(等于 cubic-bezier(0,0,0.58,1))。
ease-in-out 規定以慢速開始和結束的過渡效果(等于 cubic-bezier(0.42,0,0.58,1))。
cubic-bezier(n,n,n,n) 在 cubic-bezier 函數中定義自己的值。可能的值是 0 至 1 之間的數值。

Demo入口:摸這里