死循環(huán)無法阻止CSS3動畫

2024-01-20    分類: 網(wǎng)站建設(shè)

JavaScript的死循環(huán)可以卡死瀏覽器?那是IE6,只有IE6才會那么沒出息!現(xiàn)代瀏覽都是標簽頁的模式,有些還是獨立頁面進程的,怎么會因為個小小的JavaScript死循環(huán)而卡死呢?雖然JavaScript的循環(huán)的優(yōu)先級很高,但它只是主線程的一個組成部分而已。 上一篇的測試代碼中也有類似的部分,但是使用了CSS2的margin,所以JavaScript死循環(huán)時它就不動了。但實際上在Chrome中,即使程序是死循環(huán)狀態(tài),CSS3也會繼續(xù)播放動畫。但僅限修改CSS3的屬性,例如transform。像margin、left這樣的CSS2的屬性依然會被阻斷。 運行<style> div { width:50px;height:50px; background:#FDD000;color:#FFF; text-align:center;font:32px/50px Arial; -webkit-animation:test 2s linear infinite; animation:test 2s linear infinite; } @-webkit-keyFrames test { 0% {-webkit-transform:translateX(0px);} 50% {-webkit-transform:translateX(200px);} 100% {-webkit-transform:translateX(0px);} } @keyFrames test { 0% {transform:translateX(0px);} 50% {transform:translateX(200px);} 100% {transform:translateX(0px);} } </style> <div></div> <hr/> <input type="button" value="循環(huán)5秒" /> <script> document.querySelector("input").onclick=function(){ for(var t=new Date;new Date-t<5000;); }; </script>

點擊按鈕后按鈕都卡住了,但是Chrome中CSS3動畫還在不知疲倦的運行著。不過目前這是Chrome上獨有的問題,其它瀏覽器上死循環(huán)可以正常阻止CSS3動畫的。這個現(xiàn)象雖然不會在實際應(yīng)用中造成什么影響,但是我們可以從這個現(xiàn)象看出代瀏覽器的實現(xiàn)方向:線程不是你想斷,想斷就能斷的。

網(wǎng)站標題:死循環(huán)無法阻止CSS3動畫
文章源于:http://www.muchs.cn/news42/314592.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計微信公眾號、App設(shè)計、電子商務(wù)、做網(wǎng)站、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營