【问题标题】:How to change different div background img when hovering an empty div?悬停空div时如何更改不同的div背景图像?
【发布时间】:2013-05-31 18:25:02
【问题描述】:

希望您能提供帮助,并且可以做到这一点......

我有这样的事情:http://jsfiddle.net/keG6G/5/

这是 HTML 代码:

<div id="logo">
     <div id="drop1">
     </div>

     <div class="clear"></div>

     <div id="drop2">
     </div>

     <div id="drop3">
     </div>
</div>

<div id="words">
    <div id="a">
    </div>

    <div id="b">
    </div>

    <div id="c">
    </div>
</div>

&lt;div id="logo"&gt; 只有一张背景图片。

&lt;div id="drop1"&gt;&lt;div id="drop2"&gt;&lt;div id="drop2"&gt; 是透明的(显示边框以使其可见)。

div的'a'、'b'和'c'有背景图片。

我需要做的是:当悬停'drop1','drop2'或'drop3' div时,div'logo'的背景img将与div'a','b'的背景img和'c'。

所以为了更清楚一点,如果我将鼠标悬停在 div'drop1': div'logo'div'a'div'b'div'c' 将改变背景图像。

一旦我不太了解它,我不确定它是否最好使用 jQuery。

我希望我能很好地解释我的问题。

【问题讨论】:

    标签: javascript jquery css


    【解决方案1】:

    使用下面的 jquery 代码

    $('#drop1,#drop2,#drop3').hover(
      function(){
        $('#a').css({"background-color":"blue"});
        $('#b').css({"background-color":"red"});
        $('#c').css({"background-color":"green"});
        $('#logo').css({"background-color":"black"});
      },function(){
        //similarly give them their original backgrounds
    });
    

    如果你想将它们的背景更改为普通背景,则创建一个类 new_background 然后添加

    $('#a,#b,#c,#logo').addClass("new_background");
    

    【讨论】:

    • 哇,这看起来很简单:) 谢谢!在第二个功能中,当您不悬停任何 div 时,有一种简单的方法可以将所有内容恢复为原始状态?而不是一一重新分配原始背景
    • 只是另一个问题...此代码在某些浏览器版本中是否存在问题?
    • 查看 jQuery 的浏览器支持页面jquery.com/browser-support
    • 如果所有 div 的背景相同,那么使用 addClass() 和 removeClass(),这样会容易得多
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-06
    • 2011-03-06
    • 2014-09-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-11
    • 1970-01-01
    相关资源
    最近更新 更多