2012-12-05 41 views
0

我將如何去創建一個腳本,檢查是否div設置爲除display:之外的任何其他值:none。Javascript來改變css

我在手風琴上有一張圖片,但是當我點擊手風琴元素時,我想將圖片隱藏在頂部。

所以說我的內容是一個名爲「accord_content」的類的形式,顯示的圖像是「image_over」。我可以創建一個腳本來檢查是否顯示了accord_content,如果是這樣來隱藏「image_over」?

if ('.accord_content.display !== 'none') { 
     image_over.display = 'none') 
     } 

只是一個快速的嘗試,不擅長的JavaScript如何完成這個

感謝

如此混亂

新的更新 - 這是顯示我要檢查的HTML摘錄

<h3 class="title">Making the shortlist</h3> 
     <div class="accord_content"> 
     <div class="content_left"> 

<p>CONTENT</p> 

<p>CONTENT> 
    </div> 

這是現在使用jQuery UI手風琴,所以當頁面打開類accord_content是顯示:無,

當點擊h3時,它會變爲display:block。

感謝

+4

到目前爲止你做了什麼? – KatieK

+0

請參閱編輯謝謝 – DIM3NSION

+0

不確定您想要達到的目標,但想知道您是否過於複雜。你真的需要改變整個類的元素還是隻有一個?你真的需要*檢查*是否顯示一個元素/類,因爲你的代碼可能是控制它是隱藏/顯示的嗎? – Stuart

回答

0
if (element.style.display !== 'none') {} 
2

使用jQuery,你可以做到以下幾點:

的Javascript

if ($('.accord_content').css('display') !== 'none') { 
    $('.image_over').hide(); 
} 

Demo

這將工作中採取以下方式。如果有任何.accord_content可見,則隱藏所有.image_over

或者在本地JavaScript,你可以這樣做:

的Javascript

if (document.querySelector('.accord_content').style.display !== 'none') { 
    document.querySelector('.image_over').style.display = 'none'; 
} 

Demo

這將得到.accord_content一審和隱藏第一.image_over。如果display: none設置爲.accord_content作爲內聯style屬性,而不是使用CSS,則此檢查將僅返回false。

你應該真的發佈一些相關的html在你的問題。另外還描述了這是如何工作的。如果你發表一個模糊的問題,你會得到一個模糊的答案。花時間發佈一個好問題,人們會花時間發佈一個好的答案。

+0

請注意,這忽略了CSS中設置的樣式。如果在樣式表中將accord_content設置爲display:none,那麼.image_over元素將不會顯示。我不清楚這是否會成爲問題。 – Stuart

+0

啊,我完全沒有讀它。抱歉。 – Stuart

+0

完美,看到我編輯,我敢肯定,這將工作只是它目前沒有任何建議? – DIM3NSION