鍍金池/ 問答/HTML/ 為何運行次序不按照程序運行?

為何運行次序不按照程序運行?

<style>
.entered{font-size:36px;width:200px;height:100px;}
#test{border:2px solid red;background:#fdd;width:60px;height:60px;}
</style>

</head>
<body>
    <div id="test">移進來</div>    
    <script>
        $("#test").bind("mouseenter mouseout",function(event){
            $(this).toggleClass("entered");
            alert("鼠標指針位于(" + event.pageX + "," + event.pageY + ")");
        });    
    </script>

上面這個簡單的jquery,
issu1
.entered{font-size:36px;width:200px;height:100px;}
font-size:36px;起作用了 ,為何width:200px;height:100px; 沒有起作用?
issue2
$(this).toggleClass("entered");為何在
alert("鼠標指針位于(" + event.pageX + "," + event.pageY + ")");的后面運行?
如何讓 $(this).toggleClass("entered"); 運行完成后,執(zhí)行alert?

回答
編輯回答
蔚藍色

issue1: css權重問題;id選擇器優(yōu)先于class選擇器;
issue2: toggleClass已經執(zhí)行,只是alert中斷了樣式的重繪;
你可以在toggleClass中使用function,在function中打印日志,然后會發(fā)現(xiàn)日志打印成功,然后alert,然后alert關閉后,樣式變更才生效

2017年3月26日 05:02