Javascript jQuery ready()和脚本序列

Javascript jQuery ready()和脚本序列,javascript,jquery,sequence,Javascript,Jquery,Sequence,我是jQuery noob,我想知道如何解决这个问题: 我有一个外部的.js脚本,让我们以reflection.js为例 Reflection.js为每个class=“reflect”图像创建画布反射 我通过不同的JS脚本添加了一些图像,该脚本在('document')就绪时启动 当然,reflection.js不适用于上述脚本创建的图像 如何避免这种情况 我想我需要回电话(?)。不幸的是,即使在阅读了文档之后,我也不了解回调的概念 [编辑] <script src="js/reflect

我是jQuery noob,我想知道如何解决这个问题:

  • 我有一个外部的.js脚本,让我们以reflection.js为例
  • Reflection.js为每个class=“reflect”图像创建画布反射
  • 我通过不同的JS脚本添加了一些图像,该脚本在('document')就绪时启动
  • 当然,reflection.js不适用于上述脚本创建的图像
  • 如何避免这种情况

    我想我需要回电话(?)。不幸的是,即使在阅读了文档之后,我也不了解回调的概念

    [编辑]

    <script src="js/reflection.js" type="text/javascript"></script> 
    <script type="text/javascript">
    
                jQuery().ready(function() {   
                jQuery('#thumbs li').each(function(){
                        jQuery('.'+id+' a').append('<img src="' + imgURL + '" class="reflect" /></a>');
                    });
                });
     </script> 
    
    
    jQuery().ready(函数(){
    jQuery('#thumbs li')。每个(函数(){
    jQuery('.+id+'a').append('');
    });
    });
    
    图像加载事件不冒泡。你不能插手这些

    由于您的图像具有类“reflect”,这意味着您可以对源代码进行一些控制。因此,我建议您的反射代码发布一个API供您调用

    window.Reflect = function(img) {
        ...
    };
    ...
    var img = $("<img></img");
    img.attr({
       ...
    });
    Reflect(img);
    ...
    

    如果我理解正确,在“就绪”序列下有两个函数,一个脚本依赖于另一个脚本

    我解决这个问题的方法是,在jQuery的基础上构建了自己的includeJS以及额外的就绪检查层

    因此,我的代码如下所示:

    $(function(){
       $.atk4.includeJS('reflection.js');
       $.atk4.includeJS('different.js');
       $.atk4(function(){
           $('.reflect').reflection();
       });
    });
    

    在文档准备好之后,jQuery将启动上述代码。它附加2个脚本并对它们进行评估(通过添加标记)。评估完成后,函数atk4.get将执行与jQuery非常相似的准备链。

    我想你指的是“img”而不是“image”:-@Pointy恼人的
    标记。为什么HTML不能拼写!我认为加载事件不会为图像冒泡。请看我的答案。不要命名你的匿名函数!民意调查示例不会像这样工作。你的意思是
    (函数(){
    ?@Rudie,该函数是自引用的。命名匿名函数是避免参数的一种方法。callee被删除了。您的两个javascript都是在DomReady上执行的……只需重新排序:首先将图像添加到DOM,然后执行jqeury reflect插件。可能有一些库使用类似的方法,但如果没有,请随意借用一下:)为什么敏捷工具包是第四个?
    $(function(){
       $.atk4.includeJS('reflection.js');
       $.atk4.includeJS('different.js');
       $.atk4(function(){
           $('.reflect').reflection();
       });
    });