jQuery mouseover事件

我想写一个事件四个按钮间来回切换切换区域的图发生改变但是我从上到下可以触发四次,再回到第一个就不能触发了。然后我从下到上也不能触发,求解答谢谢大家!$(function(... 我想写一个事件 四个按钮间来回切换 切换区域的图发生改变 但是我从上到下可以触发四次,再回到第一个就不能触发了。然后我从下到上也不能触发,求解答 谢谢大家!

$(function(){
$(".left li:first").mouseover(function(){
$(".right_b").show();
});

$(".right").mouseout(function(){
$(".right_b").hide()
});

$(".left li:eq(1)").mouseover(function(){
$(".right_c").show();
});

$(".right").mouseout(function(){
$(".right_c").hide()
});
$(".left li:eq(2)").mouseover(function(){
$(".right_d").show();
});

$(".right").mouseout(function(){
$(".right_d").hide()
});

$(".left li:last").mouseover(function(){
$(".right_e").show();
});
$(".right").mouseout(function(){
$(".right_e").hide();
});

而且这段代码可以简写 我写的太臃肿了,求问怎么才能精简代码,谢谢!
展开
 我来答
djyuning520
2013-08-11 · TA获得超过1566个赞
知道小有建树答主
回答量:759
采纳率:0%
帮助的人:863万
展开全部

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

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就可以了。

微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
一蘅新
2013-08-11 · TA获得超过2359个赞
知道大有可为答主
回答量:2547
采纳率:0%
帮助的人:1602万
展开全部
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设置。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式