亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JS實現(xiàn)商品櫥窗特效

 更新時間:2020年01月09日 08:33:59   作者:KaiSarH  
這篇文章主要為大家詳細介紹了JS實現(xiàn)商品櫥窗特效,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了JS實現(xiàn)商品櫥窗特效的具體代碼,供大家參考,具體內容如下

知識點

換算公式
① 滾動條長度 = ( 盒子的寬度 / 內容的寬度) * 盒子的寬度
滾動條長度/盒子的長度 = 盒子的長度/內容的長度
② 內容走的距離 = (內容的長度 - 盒子的長度)/ (盒子的長度 - 滾動條的長度)* 滾動條走的距離

運行效果

代碼

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title></title>
 <style>
  *{
   margin: 0;
   padding: 0;
   list-style: none;
   border:none;
  }

  #box{
   width: 800px;
   height: 200px;
   border: 1px solid #ddd;

   position: relative;
   margin: 100px auto;

   overflow: hidden;
  }

  #box ul{
   width: 5200px;
   position: absolute;
   left: 0;
   top: 20px;
  }

  #box ul li{
   float: left;
  }

  #box_bottom{
   position: absolute;
   left: 0;
   bottom: 0;
   background-color: #e8e8e8;

   width: 100%;
   height: 25px;
  }

  .mask{
   position: absolute;
   left: 0;
   top:0;
   height: 25px;
   background-color: orangered;
   border-radius: 12px;
   cursor: pointer;
  }
 </style>
</head>
<body>
 <div id="box">
  <ul id="box_top">
   <li><img src="images/img1.jpg" alt=""></li>
   <li><img src="images/img2.jpg" alt=""></li>
   <li><img src="images/img3.jpg" alt=""></li>
   <li><img src="images/img4.jpg" alt=""></li>
   <li><img src="images/img5.jpg" alt=""></li>
   <li><img src="images/img6.jpg" alt=""></li>
   <li><img src="images/img7.jpg" alt=""></li>
   <li><img src="images/img8.jpg" alt=""></li>
   <li><img src="images/img1.jpg" alt=""></li>
   <li><img src="images/img2.jpg" alt=""></li>
   <li><img src="images/img1.jpg" alt=""></li>
   <li><img src="images/img2.jpg" alt=""></li>
   <li><img src="images/img3.jpg" alt=""></li>
   <li><img src="images/img4.jpg" alt=""></li>
   <li><img src="images/img5.jpg" alt=""></li>
   <li><img src="images/img6.jpg" alt=""></li>
   <li><img src="images/img7.jpg" alt=""></li>
   <li><img src="images/img8.jpg" alt=""></li>
   <li><img src="images/img1.jpg" alt=""></li>
   <li><img src="images/img2.jpg" alt=""></li>
   <li><img src="images/img1.jpg" alt=""></li>
   <li><img src="images/img2.jpg" alt=""></li>
   <li><img src="images/img3.jpg" alt=""></li>
   <li><img src="images/img4.jpg" alt=""></li>
   <li><img src="images/img5.jpg" alt=""></li>
   <li><img src="images/img6.jpg" alt=""></li>
   <li><img src="images/img7.jpg" alt=""></li>
   <li><img src="images/img8.jpg" alt=""></li>
   <li><img src="images/img1.jpg" alt=""></li>
   <li><img src="images/img2.jpg" alt=""></li>
   <li><img src="images/img1.jpg" alt=""></li>
   <li><img src="images/img2.jpg" alt=""></li>
   <li><img src="images/img3.jpg" alt=""></li>
   <li><img src="images/img4.jpg" alt=""></li>
   <li><img src="images/img5.jpg" alt=""></li>
   <li><img src="images/img6.jpg" alt=""></li>
   <li><img src="images/img7.jpg" alt=""></li>
   <li><img src="images/img8.jpg" alt=""></li>
   <li><img src="images/img1.jpg" alt=""></li>
   <li><img src="images/img2.jpg" alt=""></li>
  </ul>
  <div id="box_bottom">
   <span class="mask"></span>
  </div>
 </div>

<script>
 window.onload = function () {
  // 1. 獲取需要的標簽
  var box = document.getElementById("box");
  var box_top = document.getElementById("box_top");
  var box_bottom = document.getElementById("box_bottom");
  var mask = box_bottom.children[0];

  // 2. 設置滾動條的長度
  // 滾動條長度 = ( 盒子的寬度 / 內容的寬度) * 盒子的寬度
  var mask_len = (box.offsetWidth / box_top.offsetWidth) * box.offsetWidth;
  mask.style.width = mask_len + 'px';

  // 3. 鼠標操作
  mask.onmousedown = function (event) {
   var e = event || window.event;

   // 3.1 求出初始值
   var beginX = e.clientX - mask.offsetLeft;

   // 3.2 移動
   document.onmousemove = function (event) {
    var e = event || window.event;

    // 3.3 求出移動的距離
    var endX = event.clientX - beginX;

    // 邊界值
    if(endX < 0){
     endX = 0;
    }else if(endX >= box.offsetWidth - mask.offsetWidth){
     endX = box.offsetWidth - mask.offsetWidth;
    }


    // 3.4 動起來
    mask.style.left = endX + 'px';

    // 內容走的距離 = (內容的長度 - 盒子的長度)/ (盒子的長度 - 滾動條的長度)* 滾動條走的距離
    var content_len = (box_top.offsetWidth - box.offsetWidth) / (box.offsetWidth - mask.offsetWidth) * endX;
    box_top.style.left = -content_len + 'px';

    return false;
   };

   document.onmouseup = function () {
    document.onmousemove = null;
   }
  }
 }
</script>
</body>
</html>

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

相關文章

  • Webpack完整打包流程實現(xiàn)

    Webpack完整打包流程實現(xiàn)

    Webpack是當下流行的JavaScript靜態(tài)模塊打包器,它能夠處理應用中的所有資源文件,并將其打包成瀏覽器兼容的文件,本文就來介紹一下Webpack完整打包流程實現(xiàn),感興趣的可以了解一下
    2024-09-09
  • 微信小程序獲取用戶openid的方法詳解

    微信小程序獲取用戶openid的方法詳解

    小程序的openid相當重要,它是用戶的唯一標識id,牽扯的支付,登錄,授權等,下面這篇文章主要給大家介紹了關于微信小程序獲取用戶openid的相關資料,需要的朋友可以參考下
    2022-04-04
  • JavaScript中的常見錯誤與異常處理分析

    JavaScript中的常見錯誤與異常處理分析

    這篇文章主要為大家信息介紹了JavaScript中的常見錯誤與異常處理的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-01-01
  • javascript 常用關鍵字列表集合

    javascript 常用關鍵字列表集合

    這篇文章給大家介紹了關于javascript常用關鍵字的相關內容,文中介紹的非常詳細,并且通過一個實例代碼給大家介紹了關于Javascript關鍵字的重要性,需要的朋友們下面隨著小編來一起學習學習學習吧
    2007-12-12
  • JSON字符串操作移除空串更改key/value的介紹

    JSON字符串操作移除空串更改key/value的介紹

    今天小編就為大家分享一篇關于JSON字符串操作移除空串更改key/value的介紹,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 詳解微信小程序文件下載--視頻和圖片

    詳解微信小程序文件下載--視頻和圖片

    這篇文章主要介紹了微信小程序文件下載視頻和圖片,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • JavaScript正則替換HTML標簽功能示例

    JavaScript正則替換HTML標簽功能示例

    這篇文章主要介紹了JavaScript正則替換HTML標簽功能,結合完整實例形式詳細分析了javascript正則替換字符串操作相關實現(xiàn)技巧,需要的朋友可以參考下
    2017-03-03
  • 微信小程序使用gitee進行版本管理

    微信小程序使用gitee進行版本管理

    這篇文章主要介紹了微信小程序使用gitee進行版本管理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Enter轉換為Tab的小例子(兼容IE,Firefox)

    Enter轉換為Tab的小例子(兼容IE,Firefox)

    這篇文章介紹了Enter轉換為Tab的小例子(兼容IE,Firefox),有需要的朋友可以參考一下
    2013-11-11
  • Bootstrap學習筆記之環(huán)境配置(1)

    Bootstrap學習筆記之環(huán)境配置(1)

    這篇文章主要為大家詳細介紹了Bootstrap學習筆記之環(huán)境配置的具體操作方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12

最新評論