久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      JS Zepto 移動端的 jQuery

      JS  Zepto 移動端的 jQuery

      Zepto

      github地址: https://github.com/madrobby/zepto

      官方地址: http://zeptojs.com/

      中文版地址: http://www.css88.com/doc/zeptojs_api/

      Zepto就是jQuery的移動端版本, 可以看做是一個輕量級的jQuery

      注意點(diǎn)

      Zepto的設(shè)計目的是提供 jQuery 的類似的API,但并不是100%覆蓋 jQuery

      jQuery的底層是通過DOM來實(shí)現(xiàn)效果的, zepto.js 是用css3 來實(shí)現(xiàn)的;

      官網(wǎng)下載的zepto,就已經(jīng)包含了官網(wǎng)所述的默認(rèn)模塊了

      github上下載的zepto模塊需要自己導(dǎo)入

      <!--&lt;!&ndash;引入核心模塊;包含許多jQuery中常見方法&ndash;&gt;--> <script src="js/zepto.js"></script> <!--&lt;!&ndash;引入zepto事件模塊, 包含了常見的事件方法on/off/click ...&ndash;&gt;--> <script src="js/event.js"></script> <!--&lt;!&ndash;引入zepto動畫模塊,&ndash;&gt;--> <script src="js/fx.js"></script> <!--&lt;!&ndash;引入zepto動畫模塊的常用方法,&ndash;&gt;--> <script src="js/fx_methods.js"></script>

      Zepto點(diǎn)擊事件

      由于移動端的手勢多而且分單擊雙擊,所以移動端的click事件有300ms左右的延遲,所以移動端的點(diǎn)擊事件用tab

      $("div").tap(function(){         ...... })

      zepto中touch相關(guān)事件

      touchstart

      touchstart是手指剛觸摸到元素時觸發(fā)的事件

      touchmove

      touchmove是手指移動時觸發(fā)的事件

      touchend

      當(dāng)手指離開指定元素時觸發(fā)

      注意點(diǎn)

      添加以上三個事件的時候用addEventListener

      以上三個事件對pc端無效

      zepto中touch事件的對象

      touches:

      保存了屏幕上所有手指的列表

      targetTouches

      保存了元素上所有手指的列表

      changedTouches

      包含了剛剛與屏幕接觸的手指或者剛剛離開屏幕的手指

      TouchEvent {isTrusted: true, touches: TouchList, targetTouches: TouchList, changedTouches: TouchList}

      zepto中touch事件的XY

      client: 可視區(qū)域

      page: 內(nèi)容

      var oDiv = document.querySelector("div");     /*     1.注意點(diǎn):     無論是event對象中的touches/targetTouches/changedTouches都是一個偽數(shù)組     所以我們想要獲取手指位置的時候, 需要從偽數(shù)組中取出需要獲取的那個手指對象      */     oDiv.addEventListener("touchstart", function (event) {         // 獲取手指距離屏幕左上角的位置         // console.log(event.targetTouches[0].screenX);         // console.log(event.targetTouches[0].screenY);         // 獲取相對于當(dāng)前視口的距離         console.log("clientX", event.targetTouches[0].clientX);         console.log("clientY", event.targetTouches[0].clientY);         /*         clientX 10         clientY 8         pageX 1156         pageY 8          */         // 獲取相對于當(dāng)前頁面內(nèi)容的距離         console.log("pageX", event.targetTouches[0].pageX);         console.log("pageY", event.targetTouches[0].pageY);     });

      簡單案例: 物塊拖拽

      <!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>08-touch事件練習(xí)</title>     <style>         *{             margin: 0;             padding: 0;         }         div{             width: 100px;             height: 100px;             background: red;         }     </style> </head> <body> <div></div> <script>     var oDiv = document.querySelector("div");     var startX, startY, moveX, moveY;     // 1.監(jiān)聽手指按下事件     oDiv.addEventListener("touchstart", function (event) {         // 記錄手指按下的位置         startX = event.targetTouches[0].clientX;         startY = event.targetTouches[0].clientY;     });     // 2.監(jiān)聽手指一動事件     oDiv.addEventListener("touchmove", function (event) {         // 記錄手指移動之后的位置         moveX = event.targetTouches[0].clientX;         moveY = event.targetTouches[0].clientY;         // 計算兩個位置之間相差的距離, 相差的距離就是需要移動的距離         var offsetX = moveX - startX;         var offsetY = moveY- startY;         // 讓div移動起來         oDiv.style.transform = "translate("+offsetX+"px,"+offsetY+"px)";     }); </script> </body> </html>

      zepto中touch事件的點(diǎn)透問題

      如果兩個元素是重疊的(一個在另一個上面), 并且上面一個監(jiān)聽了touchstart事件, 下面一個監(jiān)聽了click事件,那么如果上面一個元素觸發(fā)touchstart事件之后消失了, 那么就會出現(xiàn)點(diǎn)透問題

      解決方案: fastclick框架

      注: 框架必須在前面調(diào)用, 并且所有的元素都被注冊了fastclick中的事件, 以后所有的click事件都是fastclick的click事件

      zepto中的swipe事件

      手指在元素上滑動觸發(fā)的事件

      $("div").swipeLeft(function () {         // console.log("左滑動");         $(this).animate({left: "0px"}, 1000);     });     $("div").swipeRight(function () {         // console.log("右滑動");         $(this).animate({left: "100px"}, 1000);     });     $("div").swipeUp(function () {         // console.log("上滑動");         $(this).animate({top: "0px"}, 1000);     });     $("div").swipeDown(function () {         // console.log("下滑動");         $(this).animate({top: "100px"}, 1000);

      移動端hover事件

      移動端只能使用mouseenter和mouseleave來監(jiān)聽移入和移出

      iscroll框架

      當(dāng)我們做移動端側(cè)邊欄的時候, 自己實(shí)現(xiàn)可能會出現(xiàn)bug也可能比較麻煩,這時候可以用iscroll框架

      github地址: https://github.com/cubiq/iscroll

      實(shí)現(xiàn)步驟

      按照框架的需要搭建一個三層的結(jié)構(gòu)

      引入iscroll.js框架

      創(chuàng)建一個IScroll對象, 把需要滾動的容器給它

      var myScroll = new IScroll('.test', {         mouseWheel: true, // 開啟鼠標(biāo)滾動滾動         scrollbars: true // 開啟滾動條, 但是容器必須是定位的, 否則滾動條的位置不對     });     // 相關(guān)常用的回調(diào)函數(shù)     myScroll.on("beforeScrollStart", function () {         console.log("手指觸摸, 還沒有開始滾動");     });     myScroll.on("scrollStart", function () {         console.log("開始滾動");     });     myScroll.on("scrollEnd", function () {         console.log("結(jié)束滾動");     });

      swiper框架

      Swiper是純javascript打造的滑動特效插件,面向手機(jī)、平板電腦等移動終端。

      Swiper能實(shí)現(xiàn)觸屏焦點(diǎn)圖、觸屏Tab切換、觸屏多圖切換等常用效果。

      Swiper開源、免費(fèi)、穩(wěn)定、使用簡單、功能強(qiáng)大,是架構(gòu)移動終端網(wǎng)站的重要選擇!

      如何使用:

      引入對應(yīng)的css和js文件

      按照框架的需求搭建三層結(jié)構(gòu)

      創(chuàng)建一個Swiper對象, 將容器元素傳遞給它,第二個參數(shù)接收一個對象

      <div>     <ul>         <li>slider1</li>         <li>slider2</li>         <li>slider3</li>     </ul> </div> <script>     var mySwiper = new Swiper('.test',{         loop: true,         autoplay: true,         // 如果需要分頁器         pagination: {             el: '.swiper-pagination',         },         // 如果需要前進(jìn)后退按鈕         navigation: {             nextEl: '.swiper-button-next',             prevEl: '.swiper-button-prev',         },         // 如果需要滾動條         scrollbar: {             el: '.swiper-scrollbar',         },); </script>

      推薦教程:《JS教程》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號