カードリストを書いています。
カード リスト内の li 要素には、mouseenter と mouseleave の両方のイベントがあります。
mouseenterCard: function(index) {
var nOnRight = index+2;
var n = index+1;
if (n!=1) {
$('#cards-list li:nth-child('+n.toString()+')').animate({'margin-left': '30px'},
"fast",
function() {
});
}
$('#cards-list li:nth-child('+nOnRight.toString()+')').animate({'margin-left': '30px'},
"fast");
},
mouseleaveCard: function(index) {
var nOnRight = index+2;
var n = index+1;
if (n!=1) {
$('#cards-list li:nth-child('+n.toString()+')').animate({'margin-left': marginLeft.toString()+'px'},
"fast",
function() {
});
}
$('#cards-list li:nth-child('+nOnRight.toString()+')').animate({'margin-left': marginLeft.toString()+'px'},
"fast");
}
$('#cards-list').on('mouseenter', 'li' ,function(e){
CardList.getInstance().mouseenterCard($(this).index());
});
$('#cards-list').on('mouseleave', 'li' ,function(e){
CardList.getInstance().mouseleaveCard($(this).index());
});
デモはこちら
2 つの要素をすばやく切り替えると、li 要素の動作がおかしくなりました。
何が問題ですか?