<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • 鼠標滑過事件是什么(js鼠標經過li時觸發函數)


    這一段時間在學習web前端,最近學了jQuery庫,深感其強大,下面通過寫購物車的下拉框做法,把自己的理解和大家交流一下,歡迎各位大神指點指正,廢話不多說,開始正題:

    購物車html:

     1 <!-- 購物車 start -->
     2 <div class="shopping"  id="shopping-box">
     3         <a href="" id="shoptext"><i class="iconfont">&#xe605;</i> 購物車(0)</a>
     4         <!-- 購物車下拉框 start-->
     5         <div class="shop" id="shop-content">
     6  購物車中還沒有商品,趕緊選購吧!
     7         </div>
     8         <!-- 購物車下拉框 end-->
     9 </div>
    10 <!-- 購物車 end -->

    剛開始學習原生js時候的寫法:

     1 //購物車下拉框 start
     2 var shoppingBoxNode = document.getElementById("shopping-box");
     3 var shopContentNode = document.getElementById("shop-content");
     4 var shoptext = document.getElementById("shoptext");
     5 shoppingBoxNode.onmouseenter = function{
     6     shoptext.style.background = "#fff";
     7     shoptext.style.color = "#ff6700";
     8     shopContentNode.style.display = "block";
     9     console.log("over");
    10 };
    11 shoppingBoxNode.onmouseleave = function{
    12     shoptext.style.background = "";
    13     shoptext.style.color = "";
    14     shopContentNode.style.display = "";
    15     console.log("out");
    16 };
    17 //購物車下拉框 end

    感覺很麻煩,而且還不好理解,下面用jQuery來寫的:

     1 //購物車 下拉
     2 var interval1;
     3 $("#shopping-box").mouseenter(function{
     4     clearTimeout(interval1);
     5     $(this).children.first.css({"color":"#ff6700","background":"#fff"});
     6     $(this).children.last.stop(true,true).slideDown;
     7 }).mouseleave(function{
     8     var self = $(this);
     9     interval1 = setTimeout(function{
    10         self.children.first.removeAttr("style");
    11     },700);
    12     $(this).children.last.delay(200).slideUp;
    13 });

    這個看著就干凈利落的多,相對的減少了代碼量,這里面事件使用應用鏈的寫法,而且jQuery的方法的兼容問題基本上在其內被都已經被解決了,這點真是讓前端的工作量減少了很多,用原生的時候調兼容調的頭都快炸了(大家都懂的。。。),里面用到了jQuery中的延時delay和停止動畫stop來處理(很好用的兩個函數),當鼠標移動過快出現的問題

    這里面事件的寫法當然也可以用下面的方法(on也可以用bind來替換):

     1 //購物車 下拉
     2 var interval1;
     3 $("#shopping-box").on({
     4     mouseenter:function{
    5 }, 6 mouseleave:function{7 } 8 });

    第一次寫博客,寫的比較亂,也有點也沒有突出重點,望大家見諒,也歡迎大家批評指正,共同進步!

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费