首頁 > web前端 > js教程 > jquery中如何為每一個li新增mouseover事件?

jquery中如何為每一個li新增mouseover事件?

黄舟
發布: 2017-06-28 13:39:35
原創
4023 人瀏覽過

jquery可以透過選擇器選擇一類的標籤集合。然後透過$(this)指向當前物件。
$("#ul li")這個可以取得id為ul下的所有的li 當滑鼠經過某個li是使用$(this)表示當前的li物件在進行操作。
每個li都加入mouseover可以理解為 每個li都觸發mouseover事件
例如:

<ul id="ul">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<script type="text/javascript">
$("#ul li").mouseover(function(){//jquery的mouseover事件
alert($(this).index());//弹出每个li的的位置
//这样就能实现每个li都绑定mouseover事件
});
</script>
登入後複製

這應該是簡單的滑動門效果。

HTML的結構估計就是你這樣了,左邊是列表,右邊是div組。

其實,你只要明白,左邊的列表和右邊的div組都是有索引值(index)的。然後透過一個變數來控制就可以了,這樣這個變數就是可以給左邊的列表用,也可以給右邊的按鈕用。

var int = 0; //初始化一个变量
  
//定义一个函数,用来隐藏显示右侧的div和控制左侧的列表
function divShow(int){
    $(&#39;#right .item&#39;).hide().eq(int).show();
    $(&#39;#left li&#39;).removeClass(&#39;current&#39;).eq(int).addClass(&#39;current&#39;);
}
登入後複製

我們需要為左側的清單新增事件;

$(&#39;#left li&#39;).bind({
    &#39;mouseover&#39; : function(){
        //获取当前元素的索引值
        int = $(this).index();
          
        //执行函数,这里会显示右侧的第一个div元素
        divShow(int);
    },
    &#39;mouseout&#39; : function(){
        //鼠标划开时的操作
        //int = 0;
        //divShow(int);
    }
});
登入後複製

側邊的按鈕也是一樣

//上翻
$(&#39;#prev&#39;).bind({
    &#39;click&#39; : function(){
        //这里要使用判断
        if(int <= 0){
            //这里的个数可以拿到外面定义;
            int = ($(&#39;#right .item&#39;).length-1);
        }else{
            int = (int-1);
        };
        int = int;
    }
});
  
//下翻
$(&#39;#next&#39;).bind({
    &#39;click&#39; : function(){
        //这里要使用判断
        if(int >= ($(&#39;#right .item&#39;).length-1)){
            //这里的个数可以拿到外面定义;
            int = 0;
        }else{
            int = (int+1);
        };
        int = int;
    }
});
登入後複製

如果你打算在滑鼠離開時都初始化,那麼,你只要在每個按鈕的mouseout事件中設定int這個索引變數為0就可以了。

以上是jquery中如何為每一個li新增mouseover事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板