jQuery mouseover事件

发布网友 发布时间:2022-04-19 20:11

我来回答

2个回答

热心网友 时间:2022-04-23 23:19

这应该是简单的滑动门效果。

HTML的结构估计就是你这样了,左边是列表,右边是div组。

其实,你只要明白,左边的列表和右边的div组都是有索引值(index)的。然后通过一个变量来控制就可以了,这样这个变量即可以给左边的列表用,也可以给右边的按钮用。

var int = 0; //初始化一个变量

//定义一个函数,用来隐藏显示右侧的div和控制左侧的列表
function divShow(int){
    $('#right .item').hide().eq(int).show();
    $('#left li').removeClass('current').eq(int).addClass('current');
}

我们需要给左侧的列表添加事件;

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

侧边的按钮也是一样

//上翻
$('#prev').bind({
    'click' : function(){
        //这里要使用判断
        if(int <= 0){
            //这里的个数可以拿到外面定义;
            int = ($('#right .item').length-1);
        }else{
            int = (int-1);
        };
        int = int;
    }
});

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

如果你打算在鼠标离开时都初始化,那么,你只要在每个按钮的mouseout事件中设置int这个索引变量为0就可以了。

热心网友 时间:2022-04-24 00:37

mouseover和mouseout函数可以由hover函数代替,原型是hover(function(){鼠标移入},function(){鼠标移出}),现在假设你左边那四个li都有src属性,分别设置成需要切换的图片路径,li和右边的img都在一个id为mydiv的div中,那么只需要mouseover函数就行了,
$("#mydiv li").mouseover(function(){$("# mydiv img").attr("src",$(this).attr("src"));});
而第一次加载页面的时候,鼠标没有移动到li上面去过,那么img标签里面什么都没有,需要手动给img的src属性设置一个初始值,或者用js设置。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com