我找了很多解决方案,但我找不到一个......你能帮助我吗? 我想在加载div时运行代码。我不想等到加载页面结束。
所以我在$(sel).on('load', function(){ ... });
使用$(window).on('load', function(){ ... });
时正在使用$('#collapseTrack').on('load', function(){ ... });
但是当我指定div $('#nav-maps').on('click', function(event) {
$('#nav-maps').addClass('active').removeClass('inactive');
$('#nav-trace').removeClass('active').addClass('inactive');
});
$('#nav-trace').on('click', function(event) {
$('#nav-trace').addClass('active').removeClass('inactive');
$('#nav-maps').removeClass('active').addClass('inactive');
});
$('.collapse-nav').on('click', function(event) {
$('#collapseTrack').toggleClass('DivClose').toggleClass('DivOpen');
if ($('#collapseTrack').hasClass('DivClose')) {
$('.collapse-button').html('<i class="fa fa-angle-down"></i>');
$.cookie("toggle", 0, { expires : 10 });
}
else {
$('.collapse-button').html('<i class="fa fa-angle-up"></i>');
$.cookie("toggle", 1, { expires : 10 });
}
});
if ($('#collapseTrack').hasClass('DivClose')) {
$('.collapse-button').html('<i class="fa fa-angle-down"></i>');
}
else {
$('.collapse-button').html('<i class="fa fa-angle-up"></i>');
}
<的ID时/ p>
以下是我的所有代码:`
$(&#39;#collapseTrack&#39;)。on(&#39; load&#39;,function(){
{{1}}
});
`
谢谢!!!
答案 0 :(得分:1)
在div之后放置脚本标签
...html here...
<div id="your div">foo</div>
<script type="text/javascript">
//code here
</script>
...more html here...
答案 1 :(得分:1)
单个div没有特定的.load()
事件。因此,您可以在代码中实际找到#collapseTrack
div的唯一一次是在您通过页面加载器解析div并将其添加到DOM之后运行某些代码,或者将其添加到页面中一些Javascript代码。
在加载div之后立即运行代码的最简单方法是在HTML中<script>
之后放置一个<div>
标记。
<div id="collapseTrack">Your HTML</div>
<script type="text/javascript">
$('#collapseTrack')....
</script>
由于页面是按顺序解析的,因此可确保页面中此<script>
标记之前显示的所有HTML都已存在于DOM中,并且在此<script>
标记运行之前可以访问。
如果您愿意等到页面本身被解析到最后,您可以这样做:
$(document).ready(function() {
// waits for just the DOM to be finished parsing and inserted
$('#collapseTrack')....
});
这至少会在加载过程中早于等待所有页面资源完成加载的window.load
运行(包括图像,样式表等):
$(window).on('load', function() {
// waits for all page resources to finish loading
$('#collapseTrack')....
});