欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS實(shí)現(xiàn)拖動(dòng)模糊框特效

 更新時(shí)間:2020年08月25日 08:53:22   作者:hthththtt  
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)拖動(dòng)模糊框特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了JS實(shí)現(xiàn)拖動(dòng)模糊框特效的具體代碼,供大家參考,具體內(nèi)容如下

需求:

在圖片上拖動(dòng)按鈕,圖片蒙層慢慢覆蓋,當(dāng)蒙層邊緣碰到左右下角文字時(shí),文字隱藏。

技術(shù):

監(jiān)聽(tīng)器,鼠標(biāo)坐標(biāo)獲取

效果圖

源碼分享:

HTML

<h1>Image Comparison Slider</h1>
 <nav>
<!--底層圖--> <img src="img/img-original.jpg" alt=""> 
<!--蒙版使用背景圖--> <div id="img">
   <h3 id="leftBottom">Modified</h3>
<!--拖動(dòng)按鈕--> <button id="btn">
    <span class="iconfont icon-zuojiantou"></span>
    <span class="iconfont icon-youjiantou"></span>
   </button>
  </div>
  <h3 id="rightBottom">Original</h3>
</nav>

CSS樣式

<style>
  * {
   margin: 0;
   padding: 0;
   color: #E8F6F5;
  }
  body {
   background-color: #566B89;
   padding-top: 1px;
  }
  nav {
   width: 1200px;
   height: 675px;
   overflow-x: hidden;
   position: relative;
   margin: 100px auto 0;
  }
  h1 {
   text-align: center;
   margin-top: 100px;
   font-weight: 400;
  }
  nav>img {
   position: absolute;
  }
  #img {
   width: 600px; /*初始狀態(tài)顯示一半蒙層*/
   height: 675px;
   background: url("img/img-modified.jpg"); /*這里容器大小與圖片一致,若想改變大小,設(shè)置背景大小屬性 background-size: 圖片寬 圖片高;*/
   position: relative;
   animation: start 1s ease-in-out;
  }
  #img img {
   width: 100%;
   height: 100%;
  }
  @keyframes start {
   0% {
    width: 0;
   }
   50% {
    width: 650px;
   }
   100% {
    width: 600px;
   }
  }
  #btn {
   position: absolute;
   right: -25px;
   top: calc(50% - 25px);
   width: 56px;
   height: 56px;
   line-height: 56px;
   border: none;
   outline: none;
   border-radius: 50%;
   background-color: pink;
   font-size: 0;
   text-align: center;
   color: white;
   cursor: pointer;
  }
  .iconfont {
   font-size: 20px;
  }

  h3 {
   font-weight: 400;
   color: white;
  }
  #leftBottom,#rightBottom {
   position: absolute;
   width: 100px;
   bottom: 50px;
  }
  #leftBottom {
   left: 50px;
  }
  #rightBottom {
   right: 50px;
  }
</style>

JS部分

<script>
  let img = document.querySelector("#img");
  let btn = document.querySelector("#btn");
  let nav = document.querySelector("nav");
  let leftBottom = document.querySelector("#leftBottom");
  let rightBottom = document.querySelector("#rightBottom");
  btn.onmousedown = function (e) {
   let clientx = e.clientX; // 點(diǎn)擊獲取鼠標(biāo)初始X坐標(biāo)
   nav.onmousemove = function () {
    let e = arguments[0] || window.event;
    let X = e.clientX; // 移動(dòng)時(shí)獲取鼠標(biāo)移動(dòng)時(shí)的X坐標(biāo)
    let imgW = parseInt(getComputedStyle(img,null).width);
    img.style.width = `${ imgW + X - clientx}px`; // 圖片寬度 = 移動(dòng)時(shí)的X坐標(biāo) - 點(diǎn)擊時(shí)的初始坐標(biāo) 也就是 圖片寬度 + 鼠標(biāo)X坐標(biāo)的偏移量
    clientx = X ; // 將最新的位置的X坐標(biāo) 賦值給 點(diǎn)擊初始坐標(biāo) 也就是 更新 X坐標(biāo)初始值
    if (imgW < 150){
     leftBottom.style.display = "none";
    }else {
     leftBottom.style.display = "block";
    }
    if (imgW > 1050){
     rightBottom.style.display = "none";
    }else {
     rightBottom.style.display = "block";
    }
   }
  };
  document.onmouseup = function () {
   nav.onmousemove = null;
  }
</script>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaScript輸入分鐘、秒倒計(jì)時(shí)技巧總結(jié)(附代碼)

    JavaScript輸入分鐘、秒倒計(jì)時(shí)技巧總結(jié)(附代碼)

    這篇文章主要介紹了JavaScript輸入分鐘、秒倒計(jì)時(shí)的代碼實(shí)現(xiàn),通過(guò)css和js代碼展示了邏輯過(guò)程,具體操作步驟大家可查看下文的詳細(xì)講解,感興趣的小伙伴們可以參考一下。
    2017-08-08
  • 微信小程序onShareTimeline()實(shí)現(xiàn)分享朋友圈

    微信小程序onShareTimeline()實(shí)現(xiàn)分享朋友圈

    這篇文章主要給大家介紹了關(guān)于微信小程序onShareTimeline()實(shí)現(xiàn)分享朋友圈的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • JS實(shí)現(xiàn)的簡(jiǎn)單分頁(yè)功能示例

    JS實(shí)現(xiàn)的簡(jiǎn)單分頁(yè)功能示例

    這篇文章主要介紹了JS實(shí)現(xiàn)的簡(jiǎn)單分頁(yè)功能,涉及javascript事件響應(yīng)及頁(yè)面元素遍歷、動(dòng)態(tài)構(gòu)造等相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • 詳談js使用in和hasOwnProperty獲取對(duì)象屬性的區(qū)別

    詳談js使用in和hasOwnProperty獲取對(duì)象屬性的區(qū)別

    下面小編就為大家?guī)?lái)一篇詳談js使用in和hasOwnProperty獲取對(duì)象屬性的區(qū)別。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • 微信小程序?qū)崿F(xiàn)天氣預(yù)報(bào)功能

    微信小程序?qū)崿F(xiàn)天氣預(yù)報(bào)功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)天氣預(yù)報(bào)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • vue渲染大量數(shù)據(jù)時(shí)卡頓卡死解決方法

    vue渲染大量數(shù)據(jù)時(shí)卡頓卡死解決方法

    這篇文章主要介紹了vue渲染大量數(shù)據(jù)時(shí)發(fā)生卡頓卡死問(wèn)題時(shí)的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • JS前端認(rèn)證授權(quán)技巧歸納總結(jié)

    JS前端認(rèn)證授權(quán)技巧歸納總結(jié)

    這篇文章主要為大家介紹了JS前端認(rèn)證授權(quán)技巧歸納總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 詳解JavaScript中Generator函數(shù)的使用

    詳解JavaScript中Generator函數(shù)的使用

    Generator 是 ES6 新增的一種函數(shù)類型,這篇文章主要來(lái)和大家詳細(xì)聊聊Generator函數(shù)的具體用法,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2023-06-06
  • 原生JS綁定滑輪滾動(dòng)事件兼容常見(jiàn)瀏覽器

    原生JS綁定滑輪滾動(dòng)事件兼容常見(jiàn)瀏覽器

    滑輪滾動(dòng)頁(yè)面的事件在網(wǎng)頁(yè)特效中進(jìn)場(chǎng)遇到,下面通過(guò)示例為大家介紹下原生JS綁定滑輪滾動(dòng)事件并兼容瀏覽器
    2014-06-06
  • 微信小程序canvas實(shí)現(xiàn)刮刮樂(lè)效果

    微信小程序canvas實(shí)現(xiàn)刮刮樂(lè)效果

    這篇文章主要為大家詳細(xì)介紹了微信小程序canvas實(shí)現(xiàn)刮刮樂(lè)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07

最新評(píng)論