【问题标题】:Execute .js immediately after particular <div> has been loaded加载特定 <div> 后立即执行 .js
【发布时间】:2013-09-29 12:13:24
【问题描述】:

$(window).load(function ()) 工作非常可靠,但是您必须等到所有页面加载完毕才能看到 div 上的更改(尽管它位于页面顶部)。

在 div 之后简单地放置代码在刷新后不起作用,与 .ready 函数相同。

示例:JS Fiddle demo

【问题讨论】:

  • 不清楚你想要在小提琴中实现什么?
  • 我认为您无法在 &lt;div&gt; 加载之前获得它的高度

标签: javascript jquery


【解决方案1】:

我不确定你是否可以在像&lt;div&gt; 这样的元素上使用jQuery 的load 方法,因为它不会触发加载事件。但是图片可以:

也许将其包装在 jQuery 的 ready 方法中:

$(window).ready(function(){

  $('div img').load(function(){

    // code to run after div's image has loaded

  });
})

编辑

响应您的小提琴,如果您想在 &lt;p&gt; 之前运行 JavaScript,那么您可以在文档中将 &lt;script&gt; 放在它之前。 JavaScript 在浏览器遇到时运行,所以这应该可以工作:

<div id="texture">
  <!-- All your spans -->
</div>
<script>
  alert('this will run before your p element is loaded');
</script>
<p>I would prefer to run script before this text is loaded</p>

【讨论】:

  • 对不起,我试过这种方式,但这种情况下代码根本不起作用
  • 你还在等待在 div 中加载什么?
  • 我在问题中添加了js fiddle demo
  • 对不起,它不起作用 - 我的脚本在现实生活中似乎只适用于 $(window).load(function ())
  • 顺便说一句,您编辑的回复中的意思是
【解决方案2】:

我建议你在 jQuery 初始化后使用 css 隐藏文本并使用 jQuery 显示它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-28
    • 1970-01-01
    • 2015-11-03
    • 2020-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多