确保一个javascript在另一个之前运行

时间:2013-08-28 09:27:32

标签: javascript jquery

我有两个javascript文件。目前这两个都被加载到标题

    <link rel="stylesheet" href="http://filer.jungrelations.com/beaussometumblr/js/main.js">
        <script src="http://filer.jungrelations.com/beaussometumblr/js/vendor/masonry.pkgd.min.js"></script>

main.js对DOM中的顺序进行一些操作。应用masonry,一个javascript库,它根据DOM中的顺序绝对定位元素。我使用data-masonry-object-method启动它:

data-masonry-options='{ "columnWidth": 196,  "itemSelector": "section", "gutter": 8, "transitionDuration": 0 }'

因为砌体关心html节点的顺序,所以main.js在masonry.js之前运行是很重要的。这就是main.js的样子。

$(document).ready(function() {
   $('.stamp1').remove();
});

2 个答案:

答案 0 :(得分:1)

我建议您在执行DOM操作后手动激活main.js中的砌体:

$(document).ready(function() {
    $('.stamp1').remove(); 


    $('#container').masonry({
       columnWidth: 196,
       itemSelector: 'section',
       gutter: 8, 
       transitionDuration: 0
    });

});

您还必须从容器中删除data-masonry-options属性。

答案 1 :(得分:0)

一个选项是在第一个脚本文件中输入:

$.getScript('second-file.js');

因此你的main.js看起来像:

$(document).ready(function() {
   $('.stamp1').remove();            //do whatever you need to do
   $.getScript('second-file.js');    //load the second script
});