简短的jquery代码

时间:2013-10-21 10:37:46

标签: jquery jquery-animate mouseover long-integer

我制作了一个简单的动画Jquery代码,但这个代码太长了,我想知道是否可以缩短这些长行:

我的Jsfiddle例子:http://jsfiddle.net/ZDhzJ/2/

$("#UN").mouseover(function() {  
    $("#UNbis").stop().animate({opacity: 1}); 
});
$("#UN").mouseout(function() {  
    $("#UNbis").stop().animate({opacity: 0}); 
});

$("#DEUX").mouseover(function() {  
    $("#DEUXbis").stop().animate({opacity: 1}); 
});
$("#DEUX").mouseout(function() {  
    $("#DEUXbis").stop().animate({opacity: 0}); 
});

$("#TROIS").mouseover(function() {  
    $("#TROISbis").stop().animate({opacity: 1}); 
});
$("#TROIS").mouseout(function() {  
    $("#TROISbis").stop().animate({opacity: 0}); 
});

$("#QUATRE").mouseover(function() {  
    $("#QUATREbis").stop().animate({opacity: 1}); 
});
$("#QUATRE").mouseout(function() {  
    $("#QUATREbis").stop().animate({opacity: 0}); 
});

3 个答案:

答案 0 :(得分:2)

加入选择器和事件处理程序,将bis添加到目标ID:

$('#UN, #DEUX, #TROIS, #QUATRE').on('mouseenter mouseleave', function(e) {
    $('#'+this.id+'bis').stop().animate({opacity: e.type=='mouseenter'?1:0});
});

FIDDLE

答案 1 :(得分:1)

你可以这样做:

  • 将类myDiv添加到要悬停的div
  • 使用函数范围查找div内的span

<强> JS:

$(".myDiv").mouseover(function() {  
    $(this).find('span').stop().animate({opacity: 1}); });
$(".myDiv").mouseout(function() {  
    $(this).find('span').stop().animate({opacity: 0}); });

演示:Fiddle

答案 2 :(得分:0)

$('#UN, #DEUX, #TROIS, #QUATRE').hover(function(e) {// work as mouseover
    $('#'+this.id+'bis').stop().animate({opacity: 1});
},
function(e){//work as mouseout
    $('#'+this.id+'bis').stop().animate({opacity: 0});

});

可以尝试使用 hover

参见 DEMO