首页 > web前端 > js教程 > jquery中如何给每一个li添加mouseover事件?

jquery中如何给每一个li添加mouseover事件?

黄舟
发布: 2017-06-28 13:39:35
原创
4004 人浏览过

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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板