我剛剛發現了jquery和css世界中可能發生的最奇怪的事情。通過使用onClick啓用css風格
我寫的代碼如下。
<img src="images/header_type1.png"
onclick="jQuery('.xe-clearfix').css('background-color','#fff'),
jQuery('.gnb>ul>li>a').css('color','#333'),
jQuery('.logo_text').css('color','#333')">
<img src="images/header_type2.png"
onclick="jQuery('.xe-clearfix').css('background-color','transparent'),
jQuery('.gnb>ul>li>a').css('color','#fff'),
jQuery('.logo_text').css('color','#fff'),
jQuery('.shrink .gnb>ul>li>a').css('color','#333'),
jQuery('.shrink .logo_text').css('color','#333')">
如果你只是可以去我的網站,點擊左側的齒輪按鈕,它會更容易解釋。
http://lifeto.cafe24.com/xe/page_cwmV35#
我開始解釋的問題是什麼之前, 我想讓你明白,我的網頁上面爲「兩化」菜單:一個是停留在頁面的最頂端,以及當您向下滾動時出現的第二個。
現在,如您所見,如果您單擊第一張圖像,它會將背景顏色#fff設置爲主菜單欄。
如果你點擊第二張圖片,它會清除背景顏色#ffff,但它也會翻白菜單文本。
由於主菜單的文本顏色和第二個菜單的背景顏色都是白色,所以會創建第二個菜單(稱爲.shrink)不可見的情況。
正如你所看到的,我自己編寫了這些代碼,通過給.shrink .gnb> ul> li>顏色#333(用於第二個菜單文本顏色)和.gnb> ul> li> a #fff(用於主菜單的文本顏色)
現在,問題是,即使我指定了所有在點擊左側面板上的圖像時需要更改的css類和屬性,
它只會改變那些「可見」元素的CSS屬性給你。
原諒我缺乏英語能力的,
我的意思是說,即使我設置.shrink .gnb> ul> li>一個是#333當點擊了第二個圖像左側面板,
當元素在瀏覽器中不可見時,它不會更改。 (直到你向下滾動到實際看到的div)
原來,如果它運行良好, 主菜單文本顏色需要是白色和.shrink .gnb> ul> li> a的文本當點擊左側面板上的第二張圖像時,顏色應該是黑色,
但是瀏覽器似乎無法以某種方式一次全部更改。
即時通訊不知道你是否都能理解我現在正在經歷的事情,但如果你能幫助我在這裏,非常感謝。
謝謝。
你有沒有想過有不同的CSS樣式的,然後使用jQuery添加並刪除它們而不是設置很多單獨的屬性? –
+1至Karl Gjertsen。只要建立一些課程,然後你可以在需要時切換它們,應該更容易 –
好吧,這聽起來像一個很好的選擇。但是我剛剛從學習jQuery獲得了很長的休息時間,你能提供一個小提琴還是somethinng? – Mark