如果我通过javascript设置不透明度,CSS悬停事件将被取消
CSS hover event is cancelled if I set opacity by javascript
我试图制作一个图像渐变效果,我设置了jQuery animate方法来实现渐变效果,但我发现我在CSS中注册的悬停事件已经取消。
我觉得这很奇怪,这个方法不应该影响我的悬停效果。
虽然我可以通过javascript重新注册悬停事件,但它正在做的其他任务
我有什么误解吗?
附言:我尽量不使用CSS3动画。
JS部分:
$('img').animate({
'opacity': '0.5'
}, 1500);
CSS部分:
img {
opacity: 0;
}
img:hover {
opacity: 1;
}
http://jsfiddle.net/aSRMR/
在css中使用!important
可以解决问题
img:hover {
opacity: 1 !important;
}
工作Fiddle
您可以使用悬停。
$('img').hover( function (){
console.log('hovered in');
}, function (){
console.log('hovered out');
}
在制作动画之前,不要忘记放置stop()。
所以尝试你的代码会是这样的。
$('img').hover( function (){
console.log('hovered in');
$('img').stop().animate({'opacity': '1'}, 1500);
}, function (){
console.log('hovered out');
$('img').stop().animate({'opacity': '0.5'}, 1500);
}
另一个解决方案,如果你想使用CSS方法,可以这样做。
$('img').hover( function (){
$('img').addClass('hovered');
}, function (){
$('img').removeClass('hovered');
}
在你的CSS上。
img {
opacity: 0;
}
.hovered {
opacity: 1;
}
您是否也考虑过使用CSS Webkit进行淡入淡出?
相关文章:
- css(或jQuery)悬停时淡入淡出
- CSS/HTML:更改文本的值并在悬停时从中心展开
- 鼠标悬停时的css转换
- PHP&CSS:如何获得表中每一行的悬停效果
- 链接悬停css在不浮动时不在表浮动标题中工作
- 鼠标悬停时更改按钮的 CSS
- 如何通过css模糊除当前悬停之外的所有图像
- 使用CSS将鼠标悬停在子对象上时,删除父对象上的悬停样式
- 使用CSS更改悬停时多个元素的属性
- html图像映射和悬停css
- 测试CSS':悬停'伪类
- 在可视化中将CSS从悬停更改为单击
- 下拉悬停 CSS
- 将悬停CSS添加到用javascript处理的表单元格中
- 为什么我的悬停 css 被 jQuery 删除了
- javascript悬停css更改颜色
- 隐藏默认的悬停css从链接
- 如何使用:鼠标放下时的悬停css
- 使用D3转场会禁用SVG上的悬停CSS
- 聚合物悬停css不工作