我希望我的代码可以为自己说话。
当我将鼠标悬停在元素上时,我想在同一个类的所有元素上运行每个函数,但不是当前悬停的元素:
$(document).on({
mouseenter: function () {
$('#%id% .imageStyle').each(function(){
if($(this) != $(this)){ // obviously this line is incorrect
// I only want to execute this if the current each iteration is not the element I am hovering over
$.this.pixastic("desaturate");
}
});
Pixastic.revert(this);
},
mouseleave: function () {
$(this).pixastic("desaturate");
}
}, '#%id% .imageStyle');
更新,这个新代码完成了我现在想要的......
$(".%id%desaturate img").addClass("sprightly");
$(document).on({
mouseenter: function () {
$('.sprightly').not(this).each(function(){
if($(this).is("img")){
$(this).trigger("mouseleave");
}
});
Pixastic.revert(this);
},
mouseleave: function () {
$(this).pixastic("desaturate");
}
}, '#%id% .imageStyle');
答案 0 :(得分:2)
<强>更新强>
不需要使用每个函数,因为.pixastic()
将适用于选择器匹配的所有元素。试试这个,我还没有测试过它
$("#container").on({
mouseenter: function () {
$('#container .imageStyle').not(this).pixastic("desaturate");
Pixastic.revert(this);
},
mouseleave: function () {
$(this).pixastic("desaturate");
}
}, '.imageStyle');