我正在寫一個複雜的視覺效果,即改變「盒子陰影」屬性。用JavaScript獲取CSS聲明
讓我們簡單地說一下,只需命名shadow(1pt 1pt 3pt rgba(...))的值,就像「shadow」一樣。
我有一個樣式表和問題的HTML元素。
元素有,比方說,「shadow1」爲正常狀態定義的值,而「shadow2」爲懸停狀態:
.elem {
box-shadow: #333 1pt 1pt 3pt; /* shadow1 */
}
.elem:hover {
box-shadow: #666 3pt 3pt 5pt; /* shadow2 */
}
我的腳本將它自己的影子,以現有的一個。所以:
box-shadow: shadow1, shadow2
這很容易實現。我只需要做以下,使用jQuery:
var defaultShadow = elem.css("box-shadow");
elem.css("box-shadow", defaultShadow + ", " + anotherShadow);
因此,算法如下:
var defaultShadow = elem.css("box-shadow");
- 做一下的setInterval。添加另一個陰影到默認的一個
問題出現時,當元素被徘徊,影響腳本運行。在這種情況下,效果已經與在步驟1中獲得的「defaultShadow」一起工作。
它更難,因爲在腳本中聲明的陰影出現在「style」屬性中,並且所有使用外部CSS聲明的規則正在被覆蓋。
有沒有一種方法可以使用JavaScript來獲取CSS文件中聲明的CSS樣式,用於有問題的元素。我還需要樣式元素的狀態,比如「:徘徊」,「:激活」等
請編輯更多信息。僅限代碼和「嘗試這個」的答案是不鼓勵的,因爲它們不包含可搜索的內容,也不解釋爲什麼有人應該「嘗試這個」。 – abarisone 2016-09-06 14:28:36