0

我遇到了 jquery 不删除背景图像的问题。

我正在使用带有深度链接的 Zurb 的 Foundation 框架,并且有一些这种形式的代码(我已经剪掉了相当多的 html):

<div id="contentWrap">
  <section id="one" class="mixed">
    <a href="#">One</a>
    <div class="content"></div>
  </section>   
  <section id="two" class="mixed active">
    <a href="#">One</a>
    <div class="content"></div>
  </section>
</div>

我正在使用 css 设置带有背景图像的#contentWrap,但我只希望图像在第一个链接处于活动状态时显示。

我正在使用这个 JQuery 代码:

// Add background image if #one clicked
$('#one a').click(function(){
  $("#contentWrap").css("background-image","url('xx.jpg')");
});

// Remove background image if #two clicked
$('#two a').click(function(){
  $("#contentWrap").css("background-image","none");
});

// Remove background image if #two has class of .active
if ( $("#two").hasClass("active") ) {
  $("#contentWrap").css("background-image","none")
};

如果通过深度链接(即 xx.com/#two)在第二个选项卡处于活动状态时加载页面,则仍会加载背景图像。

我曾经有这个工作,但后来对代码在(wordpress)网站上的加载方式进行了几次更新,现在我用jQuery(document).ready(function($)它来包装所有其他 JS(正在工作)。

非常感谢任何帮助。

4

1 回答 1

1

如果我猜对了,当twodiv 处于活动状态时,才应该删除背景?

// Remove background image if #two clicked
$('#two a').click(function(){
   // Remove background image if #two has class of .active
    if ( $("#two").hasClass("active") ) {
      $("#contentWrap").css("background-image","none")
    };
});

工作jsfiddle:(更改background-imagebackgroundhttp://jsfiddle.net/Vvg5F/4/

于 2013-10-27T20:44:50.840 回答