将鼠标悬停在一个元素上会导致其他元素发生变化
Hover on one element causes other element to change
所以在我的网站上,我创建了一个功能,当我将鼠标悬停在一个侧面按钮上时,中间的树的图像会发生变化。你可以在这里看到页面。
动画工作正常,但现在我试图使背景图像响应的div内。感谢这个其他的jsfiddle,我能够使原始的背景图像响应使用以下CSS:
#arvore {
background: url('http://vistacamisa.greenpeace.org.br/wp-content/uploads/2015/09/arvore_011.png');
background-size: contain;
background-repeat: no-repeat;
width: 100%;
height: 0;
padding-top: 92.7%;
}
问题是,这个CSS并不适用于图像显示,当我悬停在按钮上,我已经遇到了一个障碍,如何使其工作。任何想法或建议将不胜感激!
我使用以下jQuery:
<script type="text/javascript">
(function($){
$('.arvorehover').hover(function(){
$('#arvore').css({'background':'url('+ $(this).attr('target') +')'});
},function(){
$('#arvore').css({'background':''});
});
})(jQuery)
</script>
我的按钮有一个类。arvorehover和div与树的图像有一个id #arvore。
非常感谢!
当你在JavaScript中使用这个设置悬停背景时:
$('#arvore').css({'background':'url('+ $(this).attr('target') +')'});
…它为标记添加了一个样式属性:<div id="arvore" style="background:url(....)">
,它覆盖了整个CSS background
声明,进而将background-size
设置为auto
。您可以通过仅更改background-image
属性来修复当前代码:
<script type="text/javascript">
(function($){
$('.arvorehover').hover(function(){
$('#arvore').css({'background-image':'url('+ $(this).attr('target') +')'});
},function(){
$('#arvore').css({'background-image':''});
});
})(jQuery)
</script>
或者你可以通过在JavaScript中切换一个类来保持样式在CSS中:
<script type="text/javascript">
(function($){
$('.arvorehover').hover(function(){
$('#arvore').addClass('hover');
},function(){
$('#arvore').removeClass('hover')
});
})(jQuery)
</script>
然后在CSS中:
#arvore.hover {
background-image: url("some-url");
}
相关文章:
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- 如何在不影响其他元素的情况下扩展DIV
- 单击其他元素时,我如何使用 jQuery 忽略更改事件
- 如何查明鼠标按下事件是否发生在滚动条上或元素中的其他任何位置
- 从其他元素上的单击事件访问image src属性
- 如何'剪切'DOM元素并将其显示在其他位置
- jQuery悬停动画只在其他类似元素中的一个元素上
- 基本D3.js:如何将具有其他属性的数据绑定到元素
- 单击其他元素或鼠标向上时隐藏输入框,但保留一次焦点
- 将一个元素放在具有相同z索引的其他元素前面
- 将href中的图像替换为其他元素中的图像
- JavaScript删除所有其他元素
- AngularJS:根据其他对象预先选择ng repeat中的select元素
- 为数组元素的属性赋值将设置所有其他类似元素的属性
- 如何使用其他自定义指令中的元素标记作为另一个自定义指令的模板
- stopPropagation是否还会阻止同一元素上的其他处理程序运行
- 如何在 *ngFor 列表中显示单击的元素,使用 Angular 2 隐藏其他元素
- 单击更改其他元素源
- 有没有办法将选择器返回到元素?是$(这个)还是其他方法
- 从异步调用返回数组,然后为数组的每个元素返回其他异步调用