我發現窗口對象中有一個名爲WebKitCSSKeyframesRule
的函數,但似乎執行此函數會導致錯誤。有誰知道這個功能是如何工作的?有沒有一種好的方法來修改css3動畫的關鍵幀?訪問css3動畫的關鍵幀
2
A
回答
2
WebKitCSSKeyframesRule
不是一個函數:它是一個構造器解析樣式表當這樣在內部使用。
要修改@keyframes
規則,你必須先找到它:
var styleSheet = document.styleShees[0], keyframesRule;
for (var i = 0; i < styleSheet.cssRules.length; i++) {
if (styleSheet.cssRules[i].type === CSSRule.WEBKIT_KEYFRAMES_RULE) {
keyframesRule = styleSheet.cssRules[i];
break;
}
}
alert(keyframesRule instanceof WebKitCSSKeyframesRule); // alerts "true"
一旦你有你的規則,你可以修改,添加,使用規則的cssRules
屬性刪除框架規則和addRule
,deleteRule
方法,就像你平時與普通樣式表:
for (var i = 0; i < keyframesRule.cssRules.length; i++)
alert(keyframesRule.cssRules[i].keyText + " { "
+ keyframesRule.cssRules[i].style.cssText + " }");
這是一樣的警報keyframesRule.cssRules[i].cssText
。
顯然,這是所有供應商的前綴,因此對於Firefox,您將不得不使用MozCSSKeyframesRule
來代替,等等。
+0
太棒了!這是一個很好的解決方案,謝謝 – xiaohao
相關問題
- 1. CSS3動畫(webkit的關鍵幀)問題
- 2. CSS3動畫關鍵幀
- 3. CSS3關鍵幀動畫 - 類
- 4. CSS3關鍵幀動畫:無動畫
- 5. CSS3動畫(關鍵幀動畫)
- 6. 帶關鍵幀的CSS3動畫
- 7. CSS3關鍵幀動畫反轉跳躍關鍵幀
- 8. 存儲和訪問動畫關鍵幀
- 9. CSS3關鍵幀動畫不起作用
- 10. 暫停css3關鍵幀動畫
- 11. CSS3縮放動畫關鍵幀
- 12. css3關鍵幀懸停動畫火狐
- 13. CSS3關鍵幀動畫Retina顯示屏
- 14. CSS3轉換,關鍵幀,動畫
- 15. CSS3在關鍵幀動畫後消失
- 16. CSS3動畫(關鍵幀)在IE9
- 17. 停止CSS3關鍵幀動畫
- 18. CSS3關鍵幀跳轉到動畫結束時沒有動畫
- 19. CSS3動畫/關鍵幀,在IE11問題中用vw轉換
- 20. 關鍵幀動畫
- 21. CSS3關鍵幀動畫:結束並停留在最後一幀
- 22. 關於100%寬度/高度背景的CSS3關鍵幀動畫
- 23. 如何移動到CSS3動畫中的某個關鍵幀?
- 24. 關鍵幀動畫的關鍵時間
- 25. css3動畫幀逐幀
- 26. CSS3動畫(逐幀)
- 27. CSS3關鍵幀動畫stopmotion圖像抖動
- 28. CSS3動畫:在0%繼承財產的關鍵幀
- 29. 使用關鍵幀的CSS3動畫不交替拍攝
- 30. @ font-face使用CSS3關鍵幀動畫時裁剪的字體
我認爲這是webkit中的一個內部函數:http://opensource.apple.com/source/WebCore/WebCore-658.28/css/WebKitCSSKeyframesRule.cpp –