2015-08-21 30 views
1

當頁面向下滾動時。我正在嘗試向div中添加一個類「sticky_logo」。addClass(),該類已添加,但CSS不起作用

<div id="fixed_logo" > ...</div> 

if ($document.scrollTop() >= 50) { 
    $("#fixed_logo").addClass("sticky_logo"); 
} 

它的工作原理,當我向下滾動,類被添加,但是類「粘性標誌」的特性不工作,而是「fixed_logo」的CSS仍然有效。我如何激活該類的CSS,而不刪除該ID。

removeAttr對於id並不是一個好主意,因爲它會比較複雜。

這裏是的jsfiddle:http://jsfiddle.net/alex111kira/ard0gnfu/

+0

您是否嘗試從您的html中刪除「類」? – gopalraju

+0

「CLASS」不是爲任何屬性指定的組的成員。要麼在開始時給它一個虛擬類,要麼將其從'div'中取出, – ODelibalta

+0

我試過了,仍然無法工作。該類是adde,但​​css不,只有id的css仍然存在。 –

回答

1

此ID的CSS規則是比類更具體的,所以它是被應用的一個。將另一個類添加到將保存「常規」樣式的徽標元素,然後將.new_class.sticky_logo用於粘性狀態的CSS規則。

+0

謝謝你的回答! http://jsfiddle.net/alex111kira/ard0gnfu/ –

+0

你去那裏:http://jsfiddle.net/gd068zbt/1/ – bumpy

+0

你真棒,顛簸!!!!! –

1

ID選擇器在CSS規則排名中比類選擇符具有更高的特異性。

如果由ID選擇設定的CSS是在騎類選擇,只是將它們組合起來的CSS:

#fixed_logo{ 
    /* rules */ 
} 

#fixed_logo.sticky_logo{ 
    /* these rules will have higher rank */ 
} 

第二選擇是更具體的,將在第一

設定過程規則
相關問題