使一组元素透明,但一个除外
Making group of elements transparent except one
我想连续展示几个产品。将鼠标悬停在一个产品上时,其他产品会变得透明。我写了一个剧本,它完成了他的工作,但有一点光学问题。以下是代码的一部分:
$('#product-black').find('img').hover(function() {
$('#product-red').find('img').fadeTo('slow', '0.05');
$('#product-gray').find('img').fadeTo('slow', '0.05');
}, function() {
$('#product-red').find('img').stop().fadeTo('fast', '1');
$('#product-gray').find('img').stop().fadeTo('fast', '1');
});
原始代码包含其中三个代码段 - 每个产品一个。我知道会有更好的方法...感谢您的任何帮助
问题:当从产品黑色更改为产品红色时,第三个"闪烁",因为首先产品 3 变得可见,然后再次变为透明。
使用 this
关键字并仅排除当前关键字,这样您就可以一次绑定所有三个关键字。 stop()
应该通过完成上一个动画来处理任何闪烁,如果另一个动画启动
var products = $('#product-black, #product-red, #product-gray').find('img');
products.hover(function () {
products.not(this).stop(true, false).fadeTo('slow', '0.05');
},
function () {
products.not(this).stop(true, false).fadeTo('slow', '1');
});
相关文章:
- 使用clickToggle并在单击另一个元素时关闭元素
- 表追加而不附加最后一个元素
- 滚动到容器中的下一个元素-几乎到了
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 按我自己的类克隆另一个元素的内容和顺序
- Javascript获取上一个元素的内容
- 如何通过HTML+CSS中的另一个元素Selector更改元素的属性值
- 在数组中的一个元素上设置多个值
- 无法选择除一个元素外的所有元素
- 使用jquery contains获取一个元素并添加类
- $(.class).empty总是缺少一个元素
- jQuery-将列表项的一个元素移动到同一项的另一个元素中+对我的列表中的每个项执行此操作
- 如何在一个元素动画之后延迟
- jQuery转盘下一个元素没有滑入
- jquery从另一个元素中移除移除
- DIV怎么能像Javascript中的另一个元素一样工作呢
- 当知道同一hiearch中至少有一个元素时,遍历到元素.结构使用jquery
- 使用数据属性将HTML数据复制到另一个元素
- 如何选择给定类的上一个元素
- 动态修改一个元素,使其与给定的选择器匹配