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

Javascript實現(xiàn)鼠標移入方向感知

 更新時間:2020年06月24日 16:45:00   作者:Jeslie-He  
這篇文章主要為大家詳細介紹了Javascript實現(xiàn)鼠標移入方向感知,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文介紹了JavaScript檢測鼠標移動方向的方法,涉及javascript鼠標操作的相關技巧,供大家參考,具體內(nèi)容如下

判斷鼠標移入方向的功能函數(shù)

function getDir(ev, ele) {
      var l = ele.getBoundingClientRect().left;
      var t = ele.getBoundingClientRect().top;
      var w = ele.getBoundingClientRect().width;
      var h = ele.getBoundingClientRect().height;
      var x = (ev.clientX - l - w / 2) * (w > h ? (h / w) : 1);
      var y = (ev.clientY - t - h / 2) * (h > w ? (w / h) : 1);
      var deg = Math.atan2(y, x) / (Math.PI / 180);
      var d = (Math.round((deg + 180) / 90) + 3) % 4;
      return d;
      // d的值{上:0,右:1,下:2,左:3}
 }

整體代碼:

html:

<div id="container">
    <img src="./bg.jpg" alt="">
    <p class="ps">故事成功地將原本隱藏在黑暗中,用世界上最強大的毅力和最艱辛的努力去做最密不可宣和隱諱殘酷的事情的忍者,描繪成了太陽下最值得驕傲最光明無限的職業(yè)。在岸本齊史筆下的忍者世界中,每一位年輕的忍者都在開拓著屬于自己的忍道。
    </p>
</div>

CSS:

*{
  margin: 0;
  padding: 0;
}

#container{
  width: 400px;
  height: 200px;
  position: relative;
  margin-top: 100px;
  margin-left: 200px;
  overflow: hidden;
  
}
#container img{
  width: 100%;
  height: 100%;
  transition: 0.5s;
}
#container p{
  width: 100%;
  height: 100%;
  padding: 10px;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  /* top: 0; */
  background: rgba(0, 0, 0, .7);
  color: #ccc;
  font-size: 14px;
  line-height: 24px;
  
}
#container:hover img{
  transform: scale(1.1);
}

JS:

window.onload = function () {
      var box = document.getElementById('container');
      var ps = document.getElementsByClassName('ps');
      var pos=[
        {left:0,top:'-100%'},
        {left:'100%',top:0},
        {left:0,top:'100%'},
        {left:'-100%',top:0}
      ]
      box.onmouseenter = function(ev){
        var dir = getDir(ev,this);
        ps[0].style.transition='';
        ps[0].style.left=pos[dir].left;
        ps[0].style.top=pos[dir].top;
        setTimeout(function(){
          ps[0].style.transition='.3s';
          ps[0].style.left=0;
          ps[0].style.top=0;
        },1000/60)
      }
      box.onmouseleave = function(ev){
        var dir = getDir(ev,this);
        setTimeout(function(){
          ps[0].style.transition='';
          ps[0].style.left=pos[dir].left;
          ps[0].style.top=pos[dir].top;
        },100)
      }
    }
    function getDir(ev, ele) {
      var l = ele.getBoundingClientRect().left;
      var t = ele.getBoundingClientRect().top;
      var w = ele.getBoundingClientRect().width;
      var h = ele.getBoundingClientRect().height;
      var x = (ev.clientX - l - w / 2) * (w > h ? (h / w) : 1);
      var y = (ev.clientY - t - h / 2) * (h > w ? (w / h) : 1);
      var deg = Math.atan2(y, x) / (Math.PI / 180);
      var d = (Math.round((deg + 180) / 90) + 3) % 4;
      return d;
      // d的值{上:0,右:1,下:2,左:3}
}

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

相關文章

  • JavaScript+canvas實現(xiàn)框內(nèi)跳動小球

    JavaScript+canvas實現(xiàn)框內(nèi)跳動小球

    這篇文章主要為大家詳細介紹了JavaScript+canvas實現(xiàn)框內(nèi)跳動小球,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Bootstrap輪播插件中圖片變形的終極解決方案 使用jqthumb.js

    Bootstrap輪播插件中圖片變形的終極解決方案 使用jqthumb.js

    這篇文章主要介紹了Bootstrap輪播插件中圖片變形的終極解決方案,使用jqthumb.js,感興趣的小伙伴們可以參考一下
    2016-07-07
  • JS 參數(shù)傳遞的實際應用代碼分析

    JS 參數(shù)傳遞的實際應用代碼分析

    在項目中,有一個Ajax加載的區(qū)域,是一個Div標簽,id為msg_box,這個控制鏈接包含在一個左側的導航中,當從其他頁面鏈接到這個頁面時,該JS代碼就失效了。
    2009-09-09
  • uniapp手機號一鍵登錄實現(xiàn)保姆級教程(含前端和后端)

    uniapp手機號一鍵登錄實現(xiàn)保姆級教程(含前端和后端)

    這篇文章主要介紹了uniapp手機號一鍵登錄實現(xiàn)的相關資料,本文指導如何創(chuàng)建uniapp項目、關聯(lián)uniCloud云空間,并配置一鍵登錄功能,,整個過程涉及創(chuàng)建云開發(fā)環(huán)境、關聯(lián)云服務空間、配置登錄服務和編寫云函數(shù),需要的朋友可以參考下
    2024-10-10
  • 簡單分析js中的this的原理

    簡單分析js中的this的原理

    這篇文章主要介紹了簡單分析js中的this的原理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • JavaScript累加、迭代、窮舉、遞歸等常用算法實例小結

    JavaScript累加、迭代、窮舉、遞歸等常用算法實例小結

    這篇文章主要介紹了JavaScript累加、迭代、窮舉、遞歸等常用算法,結合實例形式分析了javascript累加、迭代、遞推、窮舉等算法的相關實現(xiàn)技巧與注意事項,需要的朋友可以參考下
    2018-05-05
  • javascript常見數(shù)字進制轉換實例分析

    javascript常見數(shù)字進制轉換實例分析

    這篇文章主要介紹了javascript常見數(shù)字進制轉換,結合實例形式分析了JavaScript十進制,十六進制及二進制的相互轉換原理與技巧,需要的朋友可以參考下
    2016-04-04
  • JavaScript 語言的遞歸編程

    JavaScript 語言的遞歸編程

    關于遞歸的解釋見《SICP》第1章。下面是個簡單的遞歸編程題目。
    2010-05-05
  • Javascript基于jQuery UI實現(xiàn)選中區(qū)域拖拽效果

    Javascript基于jQuery UI實現(xiàn)選中區(qū)域拖拽效果

    這篇文章主要介紹了Javascript基于jQuery UI實現(xiàn)選中區(qū)域拖拽效果的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • npm淘寶鏡像修改講解

    npm淘寶鏡像修改講解

    這篇文章主要介紹了npm淘寶鏡像修改講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08

最新評論

和林格尔县| 蓝山县| 巴里| 正蓝旗| 香格里拉县| 太康县| 泸水县| 陕西省| 耿马| 墨玉县| 开阳县| 和平县| 舞钢市| 柳河县| 文化| 富民县| 长垣县| 怀柔区| 方山县| 江门市| 调兵山市| 杭锦旗| 平果县| 延吉市| 肃北| 丘北县| 芜湖县| 玛沁县| 呼和浩特市| 凤庆县| 衡水市| 许昌县| 察雅县| 五常市| 蒙城县| 康马县| 奇台县| 宁武县| 通道| 镇宁| 敦化市|