0

簡単なアニメーション 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}); 
});
4

3 に答える 3

2

セレクターとイベント ハンドラーを結合bisし、ターゲット ID に追加します。

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

フィドル

于 2013-10-21T10:40:59.150 に答える
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});

});

ホバーで試すことができます

デモを見る

于 2013-10-21T10:43:23.740 に答える