Javascript - 在display:block时执行代码

时间:2015-04-19 16:49:07

标签: javascript

有没有办法等待在执行JS之前显示特定的选项卡/面板(显示:块)?

类似的东西:

$document.getElementById( '#panel1' ).style.display = 'block' {
// Run code //
}

1 个答案:

答案 0 :(得分:0)

目前还没有可靠的跨浏览器方法来通过JavaScript监听对CSS属性的更改。相反,您需要设置display: block的任何脚本在完成后运行其他代码。

例如:

function showPanel() {
   document.getElementById( '#panel1' ).style.display = 'block';
   // Run code //
}

或者使用jQuery:

function showPanel() {
   $('#panel1').show();
   // Run code //
}

正如Jared Farrish在另一篇评论中所提到的,你可以查看MutationObserver。但是,它不适用于旧的浏览器,例如IE< 11,或在某些移动设备上。