【问题标题】:How to fire Javascript code to be the last, when all the HTML/CSS and Javascript Codes are fired?当所有 HTML/CSS 和 Javascript 代码都被触发时,如何触发 Javascript 代码成为最后一个?
【发布时间】:2015-02-01 21:31:27
【问题描述】:

我一直在更新一个客户网站,它只允许我在有限的区域添加脚本和样式代码。我使用了 FF “Inspect Elements”,可以查看代码并可以使用 Web 开发插件工具的 Edit CSS 进行测试。但是,我无法使用简单的 Javascript 代码来设置我看到的代码的样式。当我使用“查看源代码”检查代码时,我需要编辑的代码没有显示出来。

为了了解我在做什么,这里有一个类似的代码。目标是当 img src 包含字符串“white”时,用绿色边框设置 DIV 的样式:

HTML:

<div class="container">
    <img class="cropImg" src="http://placehold.it/150x150/f00&text=red" alt="red">
    <img class="cropImg" src="http://placehold.it/150x150/fff&text=white" alt="white">
    <img class="cropImg" src="http://placehold.it/150x150/00f&text=blue" alt="blue">
</div>

JavaScript:

$(document).ready(function(){
    var xColour = $("img[src*='white']");
    xColour.css('border','5px solid green');
});

我还创建了一个 JSFiddle 用于快速查看 ==> http://jsfiddle.net/philcyb/q5cqomto/

问题: 有没有办法将我插入的 Javascript 作为最后一个触发?
或者,如果我的问题不相关,任何分享的想法都会受到赞赏。

谢谢!

【问题讨论】:

  • 除了我认为 dom 是按从上到下的顺序触发之外,我没有什么要补充的,我只是把你的“最后一个”脚本尽可能靠近 body 关闭标签...
  • @quid - 谢谢。我也在考虑 setTimeOut 方法(虽然我还没有真正尝试过),但也许还有比这个更好的方法。
  • 放到$(document).ready() 已经够晚了。另外我建议使用box-shadow 而不是border,为了更好地对齐,这里是小提琴:jsfiddle.net/myst/q5cqomto/1
  • 顺便问一下,您是说给 DIV 或 IMG 添加边框?
  • @LeoDeng - 谢谢。 DIV 或 IMG 中任何地方的边框或阴影都可以。我的问题更多的是作为最后一个结尾执行的javascript(如果我要描述的话)。

标签: javascript jquery css


【解决方案1】:

你可以使用下面的代码来实现你想要的

$(window).bind("load", function() {

// 代码在这里 });

【讨论】:

  • 您的意思是使用此代码而不是“$(document).ready(function(){”代码吗?
  • 是的。一旦页面完全加载,此块内的代码将被执行
猜你喜欢
  • 2013-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多