2012-04-19 98 views
1

我使用延迟加载jQuery插件,在这里我的测试页:http://bloghutsbeta.blogspot.com/2012/03/testing-2_04.html 这是lazyload缩小的脚本: 代码:JavaScript的回调函数

<script src="http://files.cryoffalcon.com/javascript/jquery.lazyload.min.js" type="text/javascript" charset="utf-8"></script> 

这个人是触发延迟加载: 代码:

<script type="text/javascript" charset="utf-8"> 
     $(function() { 
      $("img").lazyload({ 
    effect : "fadeIn" 
}); 
     }); 
    </script> 

在上面的脚本中,我已经添加淡入效果,我不知道我是否有权根据脚本书面方式我在脚本^^所以不好做了,我想有一个如果它'写得很好或者有一些逗号错误。

但这不是我的重要问题,上述所有惰性加载插件都与QuickSand Jquery插件一起使用,用于排序。 QuickSand jquery插件需要回调函数,如果它是工具提示或惰性加载,那么有人可以告诉我如何使延迟加载与流沙jquery一起工作。 下面是流沙的脚本:

代码:

&lt;script type=&quot;text/javascript&quot;&gt; 
(function(cash) { 
$.fn.sorted = function(customOptions) { 
    var options = { 
    reversed: false, 
    by: function(a) { 
    return a.text(); 
    } 
    }; 
    $.extend(options, customOptions); 

    $data = $(this); 
    arr = $data.get(); 
    arr.sort(function(a, b) { 

     var valA = options.by($(a)); 
     var valB = options.by($(b)); 
    if (options.reversed) { 
    return (valA &lt; valB) ? 1 : (valA &gt; valB) ? -1 : 0;  
    } else { 
    return (valA &lt; valB) ? -1 : (valA &gt; valB) ? 1 : 0; 
    } 
    }); 
    return $(arr); 
}; 

})(jQuery); 

$(function() { 

    var read_button = function(class_names) { 
    var r = { 
     selected: false, 
     type: 0 
    }; 
    for (var i=0; i &lt; class_names.length; i++) { 
     if (class_names[i].indexOf('selected-') == 0) { 
     r.selected = true; 
     } 
     if (class_names[i].indexOf('segment-') == 0) { 
     r.segment = class_names[i].split('-')[1]; 
     } 
    }; 
    return r; 
    }; 

    var determine_sort = function($buttons) { 
    var $selected = $buttons.parent().filter('[class*=&quot;selected-&quot;]'); 
    return $selected.find('a').attr('data-value'); 
    }; 

    var determine_kind = function($buttons) { 
    var $selected = $buttons.parent().filter('[class*=&quot;selected-&quot;]'); 
    return $selected.find('a').attr('data-value'); 
    }; 

    var $preferences = { 
    duration: 800, 
    easing: 'easeInOutQuad', 
    adjustHeight: 'dynamic' 
    }; 

    var $list = $('#data'); 
    var $data = $list.clone(); 

    var $controls = $('ul#gamecategories ul'); 

    $controls.each(function(i) { 

    var $control = $(this); 
    var $buttons = $control.find('a'); 

    $buttons.bind('click', function(e) { 

     var $button = $(this); 
     var $button_container = $button.parent(); 
     var button_properties = read_button($button_container.attr('class').split(' '));  
     var selected = button_properties.selected; 
     var button_segment = button_properties.segment; 

     if (!selected) { 

     $buttons.parent().removeClass('selected-0').removeClass('selected-1').removeClass('selected-2'); 
     $button_container.addClass('selected-' + button_segment); 

     var sorting_type = determine_sort($controls.eq(1).find('a')); 
     var sorting_kind = determine_kind($controls.eq(0).find('a')); 

     if (sorting_kind == 'all') { 
      var $filtered_data = $data.find('li'); 
     } else { 
      var $filtered_data = $data.find('li.' + sorting_kind); 
     } 

     if (sorting_type == 'size') { 
      var $sorted_data = $filtered_data.sorted({ 
      by: function(v) { 
       return parseFloat($(v).find('span').text()); 
      } 
      }); 
     } else { 
      var $sorted_data = $filtered_data.sorted({ 
      by: function(v) { 
       return $(v).find('strong').text().toLowerCase(); 
      } 
      }); 
     } 

     $list.quicksand($sorted_data, $preferences, function() { $(this).tooltip(); }); 

     } 

     e.preventDefault(); 
    }); 

    }); 

var high_performance = true; 
    var $performance_container = $('#performance-toggle'); 
    var $original_html = $performance_container.html(); 

    $performance_container.find('a').live('click', function(e) { 
    if (high_performance) { 
     $preferences.useScaling = false; 
     $performance_container.html('CSS3 scaling turned off. Try the demo again. &lt;a href=&quot;#toggle&quot;&gt;Reverse&lt;/a&gt;.'); 
     high_performance = false; 
    } else { 
     $preferences.useScaling = true; 
     $performance_container.html($original_html); 
     high_performance = true; 
    } 
    e.preventDefault(); 
    }); 
}); 
&lt;/script&gt; 

回答

0

您可以使用此:

$list.quicksand($sorted_data, $preferences, function(){ 
    $(this).tooltip(); 
    $("img").lazyload({ 
     effect : "fadeIn" 
    }); 
}); 
+1

我很抱歉,但还是不行,我试了一下 – CryOfFaclon 2012-04-19 07:25:34

+1

那么你应该等待比我更聪明的程序员,因为我是初学者,不要担心这个地方充满了天才,很快你会解决你的问题,也不是很大。这只是我这个新手。 – CryOfFaclon 2012-04-19 07:28:56

+1

嗯,我希望如此:) – CryOfFaclon 2012-04-19 08:36:41