2012-09-15 42 views
0

我想使用Lazy load到我的网站,但有一个小问题:我用JS滚动内容(用X px动画化内容),所以我不使用滚动条。可悲的是,在这种情况下,延迟加载不会触发。有任何想法如何做到这一点?jQuery惰性负载的动画滚动

我的网站横向滚动,所有的内容div -s浮动靠近对方,并且只有当前一个是可见的,所有其他的都在display: none;

这里是我的网站不那么亲PIC:我用黑色标记可见区域和红色的移动部分。

my site in pic

+0

你能说清楚你目前如何通过JS滚动内容吗?为什么不动画滚动位置呢? – ventaur

回答

0

所有我能想到的是钩到时内容的幻灯片,然后在添加图像或如果那是你的目标的全部内容用AJAX。插件通常会关注大部分用例,因此懒惰加载可能不适合您。

+0

我对AJAX不太好,这就是为什么我试图找到类似的解决方案:( – Stefanie

+0

猜猜它会成为一个学习经验。:)永远珍惜一次学习新事物的机会。 [jQuery的AJAX](http://api.jquery.com/category/ajax/)功能非常简单易用。 – FluffyJack

0

我只想写我自己的简单的延迟加载脚本:

$(function(){ 
    $('img').each(function(){ 
    var $this = $(this) 
    $this.data('origImg',$this.attr('src')) 
    $this.removeAttr('src') // or set a placeholder img 
    }) 
    var $window = $(window), $container = $('#sliding_content') 
    window.lazyLoad = function() { 
    $container.find('img:not([src])').each(function(){ 
     var $this = $(this), left = $this.offset().left 
     if (!(left < 0) && !(left > $window.width())) 
     $this.attr('src',$this.data('origImg')) 
    }) 
    } 
}) 

,然后在div的是动画,来电lazyLoad()。 让我知道这是否适合你。 :)

+0

我对JS有点蹩脚,所以我应该写些东西给'origImg'?还是其他地方? – Stefanie

+0

我编辑了我的代码。只需将'containerSelector'替换为具有水平滚动条的元素的选择器即可。 – Abraham

+0

它什么都不做,'img'标签缺少'src'属性,Firebug不会给出任何错误... – Stefanie