2013-10-27 49 views
0

我遇到了麻煩,jquery不刪除背景圖像。JQuery不刪除背景圖像如果.active類

我使用Zurb's Foundation framework深聯和在這個表格的一些代碼(我已經斬了相當多的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(正在工作)。

任何幫助非常感謝。

+0

萊昂,如果問題解決了,我的回答幫你,請接受的答案,如果它沒有,說明原因,並闡述您的需求。 – Dementic

回答

1

如果我有你的權利,當two股利是活躍的,只有當背景應該被刪除?

// 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/

+0

,並刪除最後一個'if',因爲我們將它移入點擊。 – Dementic

+0

非常感謝Dementic的快速反應,但是如果頁面加載頁面加載時第二個選項卡處於活動狀態,這似乎不起作用。將#contentWrap的背景設置爲css文件中的xx.jpg,但如果該用戶鏈接到選項卡2(#two),則應在頁面加載後立即清除。有任何想法嗎? – Leon

+0

在這種情況下,添加到您的原代碼另一個'如果'像最後一個,#1作爲選擇器 – Dementic