最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js實現(xiàn)無縫滾動雙圖切換效果

 更新時間:2019年07月09日 10:55:46   作者:Zerofishcoding  
這篇文章主要為大家詳細介紹了js實現(xiàn)無縫滾動雙圖切換效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文記錄的是在html中寫兩個img實現(xiàn)多張圖片的無縫滾動,供大家參考,具體內容如下

html結構如下:

<div class="wrap">
 <ul class="list">
  <li>
   <img src="img/img0.png">
  </li>
   <li>
   <img src="img/img1.png">
  </li>
 </ul>
 <a href="javascript:;" class="prev">prev</a>
 <a href="javascript:;" class="next">next</a>
</div>

css樣式不再詳述,想要使圖片位置發(fā)生變化,方法有很多。此次用的是定位,修改.list的left值。

js代碼如下:

(function(){
 var list=document.querySelector(".list");
 var imgs=document.querySelectorAll("img");
 var prev=document.querySelector(".prev");
 var next=document.querySelector(".next");
 var imgW=css(imgs[0],"width");//使用封裝好的css()獲取img的寬度
 var now=0;
 var imgData=["img/img0.png",
     "img/img1.png",
     "img/img2.png",
     "img/img3.png",];
 prev.onclick=function(){
  //找出接下來要顯示的圖片的下標
  var prev=(now-1+imgData.length)%imgData.length;
  //因為是從右往左運動,當前顯示的應在右側,即將顯示的在左側
  imgs[0].src=imgData[prev];
  imgs[1].src=imgData[now];
  //使用封裝好的css()設置list的位置
  css(list,"left",-imgW);
  //使用封裝好的運動函數(shù)來控制圖片移動
  startMove(list,{left:0},2000,"easeOut");
  now=prev;
 }
 next.onclick=function(){
  var next=(now+1)%imgData.length;
  imgs[0].src=imgData[now];
  imgs[1].src=imgData[next];
  css(list,"left",0);
  startMove(list,{left:-imgW},2000,"easeOut");
  now=next;
 }
})();

到這一步,大體功能已經(jīng)實現(xiàn)。但是當頻繁點擊上一張/下一張按鈕時,會發(fā)現(xiàn)圖片在設定的運動時間閃換。解決這個問題有兩個辦法:1.減小運動時間,如將2000ms改為500ms,2.限定定時器只能開一個。

在上述js代碼基礎上增加以下代碼,以上一張操作為例,增加定時器個數(shù)判斷。

var isMove=false;//記錄定時器開關狀態(tài)
prev.onclick=function(){
 if(isMove){
  return;
 }
 ....上述上一張操作js代碼
 isMove=true;
 startMove(list,{left:-imgW},2000,"easeOut",function(){
  isMove=false; 
 });
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • JS幾個常用的函數(shù)和對象定義與用法示例

    JS幾個常用的函數(shù)和對象定義與用法示例

    這篇文章主要介紹了JS幾個常用的函數(shù)和對象定義與用法,涉及JavaScript日期時間、數(shù)值計算及變量判斷等相關操作技巧,需要的朋友可以參考下
    2020-01-01
  • 自動最大化窗口的Javascript代碼

    自動最大化窗口的Javascript代碼

    有時候我們需要在用戶進入頁面的時候,自動最大化,更好的體驗,省去用戶點擊最大化按鈕,很多文章內容網(wǎng)站都加了這個代碼
    2013-05-05
  • 基于Bootstrap的網(wǎng)頁設計實例

    基于Bootstrap的網(wǎng)頁設計實例

    這篇文章主要介紹了基于Bootstrap的網(wǎng)頁設計實例,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • 計算世界完全對稱日的js代碼,粗糙版

    計算世界完全對稱日的js代碼,粗糙版

    世界完全對稱日,指的是公歷紀年日期中數(shù)字左右完全對稱的日期,這一天朋友們可以互送祝福同時讓大家感嘆時間的寶貴。
    2011-11-11
  • Javascript中判斷對象是否為空

    Javascript中判斷對象是否為空

    這篇文章主要介紹了Javascript中判斷對象是否為空,本文利用Javascript 中的對象就是一個字典的特性,檢查對象中有沒有鍵值對實現(xiàn)判斷對象是否為空,需要的朋友可以參考下
    2015-06-06
  • 使用js在layui中實現(xiàn)上傳圖片壓縮

    使用js在layui中實現(xiàn)上傳圖片壓縮

    這篇文章主要介紹了使用js在layui中實現(xiàn)上傳圖片壓縮,layui 是一款采用自身模塊規(guī)范編寫的前端 UI 框架,js上傳圖片壓縮百度有很多方法,,需要的朋友可以參考下
    2019-06-06
  • JS仿QQ好友列表展開、收縮功能(第一篇)

    JS仿QQ好友列表展開、收縮功能(第一篇)

    這篇文章主要介紹了JS仿QQ好友列表展開、收縮功能(第一篇),需要的朋友可以參考下
    2017-07-07
  • Javascript 頁面模板化很多人沒有使用過的方法

    Javascript 頁面模板化很多人沒有使用過的方法

    今天遇到一個問題,這個問題也是我以前遇到的問題,以前的方式,也是大多數(shù)人使用的方式。大家可以看看我的文章
    2012-06-06
  • JS的數(shù)組迭代方法

    JS的數(shù)組迭代方法

    這篇文章主要介紹了JS的數(shù)組迭代方法,實例分析了javascript使用數(shù)組迭代的相關技巧,代碼中備有較為詳細的注釋便于理解,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • 微信小程序tabBar 返回tabBar不刷新頁面

    微信小程序tabBar 返回tabBar不刷新頁面

    這篇文章主要介紹了微信小程序tabBar 返回tabBar不刷新頁面,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07

最新評論

漾濞| 金溪县| 梁山县| 云南省| 雅江县| 平顶山市| 隆化县| 敦化市| 邵阳县| 温州市| 凤山县| 余姚市| 获嘉县| 鸡西市| 内丘县| 宁明县| 成安县| 禄丰县| 安庆市| 五台县| 威信县| 通化县| 福州市| 沙田区| 化州市| 宁武县| 扬中市| 德令哈市| 郧西县| 张家界市| 淮阳县| 安塞县| 花莲县| 揭阳市| 孟津县| 福泉市| 桑日县| 岑溪市| 光泽县| 齐齐哈尔市| 荣昌县|