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

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>

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

相關文章

  • JavaScript實現(xiàn)表格排序方法

    JavaScript實現(xiàn)表格排序方法

    JavaScript實現(xiàn)表格排序方法,需要的朋友可以參考一下
    2013-06-06
  • js模擬點擊事件實現(xiàn)代碼

    js模擬點擊事件實現(xiàn)代碼

    在實際的應用開發(fā)中,我們會常常用到JS的模事件,比如說點擊事件,舉個簡單的例子,點擊表單外的“提交”按鈕來提交表單。上代碼吧
    2012-11-11
  • 一文帶你搞懂JS中導入模塊import和require的區(qū)別

    一文帶你搞懂JS中導入模塊import和require的區(qū)別

    JavaScript中,模塊是一種可重用的代碼塊,它將一些代碼打包成一個單獨的單元,并且可以在其他代碼中進行導入和使用。JavaScript中有兩種常用的方式:使用import和require,本文主要聊聊他們二者的區(qū)別
    2023-03-03
  • 關于JS中的undefined與null詳解

    關于JS中的undefined與null詳解

    在JavaScript中,undefined和null是兩個特殊的值,用于表示缺失或空值,文章通過代碼示例詳細介紹undefined與null作用及使用方法,感興趣的同學可以借鑒一下
    2023-05-05
  • 微信小程序Getuserinfo解決方案圖解

    微信小程序Getuserinfo解決方案圖解

    本文通過圖文并茂的形式給大家介紹了微信小程序Getuserinfo解決方案,需要的朋友可以參考下
    2018-08-08
  • javascript實現(xiàn)移動端 HTML5 圖片上傳預覽和壓縮功能示例

    javascript實現(xiàn)移動端 HTML5 圖片上傳預覽和壓縮功能示例

    這篇文章主要介紹了javascript實現(xiàn)移動端 HTML5 圖片上傳預覽和壓縮功能,結合實例形式分析了javascript移動端 HTML5 圖片上傳預覽和壓縮功能具體實現(xiàn)方法與操作注意事項,需要的朋友可以參考下
    2020-05-05
  • ExtJs整合Echarts的示例代碼

    ExtJs整合Echarts的示例代碼

    本篇文章主要介紹了ExtJs整合Echarts的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • layui導出Excel表格的方法代碼舉例

    layui導出Excel表格的方法代碼舉例

    使用了layui自帶的導出功能后,真的是超級便捷,下面這篇文章主要給大家介紹了關于layui導出Excel表格的方法代碼,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • 微信小程序-可移動菜單的實現(xiàn)過程詳解

    微信小程序-可移動菜單的實現(xiàn)過程詳解

    這篇文章主要介紹了微信小程序-可移動菜單的實現(xiàn)過程詳解,我們可以經常看到手機app里有的菜單欄是懸浮在首頁的,用戶可以拖動和點擊菜單欄進行交互,今天就教大家利用小程序的控件,,需要的朋友可以參考下
    2019-06-06
  • 使用async await 封裝 axios的方法

    使用async await 封裝 axios的方法

    這篇文章主要介紹了使用async await 封裝 axios的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07

最新評論

西昌市| 二手房| 昌乐县| 德钦县| 鄂尔多斯市| 屯昌县| 六安市| 泊头市| 乌鲁木齐县| 崇州市| 灵川县| 东方市| 湖南省| 鲁山县| 尖扎县| 田阳县| 昌图县| 中宁县| 南华县| 化州市| 巴东县| 阳谷县| 日照市| 怀柔区| 栾城县| 汕尾市| 吕梁市| 九江市| 漳州市| 大丰市| 南陵县| 新晃| 铁力市| 平凉市| 景东| 泽州县| 虹口区| 专栏| 山阴县| 绥化市| 望奎县|