1

我已经使用lazyload.js 构建了一个站点,以在访问页面时淡入图像。像这样...

window.onhashchange = function() {
    if (location.hash) {
    var hash = window.location.hash.substring(2);
        switch (hash) {
            case "about":
                changeContent('about');
                break;
            case "contact":
                changeContent('contact');
                break;
            default:
        };

        $("img").lazyload({
            effect : "fadeIn",
        });
    } else {
    };
}

该网站是使用各种页面构建的,但我正在学习如何使用 location.hash 使网站更像一个页面内的应用程序。

不幸的是,当切换代码以使用 onHashChange 时,除了延迟加载图像之外,一切似乎都正常工作,它们仍然是白色的。

我认为这是因为页面还没有加载,所以lazyload 没有启动。

任何人都可以就如何在使用哈希更改更改内容时创建相同效果提供任何建议。

4

1 回答 1

0

在事件上触发您在延迟加载的图像上使用的hashchange事件。延迟加载默认事件是scroll,默认容器是window. 您应该能够执行以下操作:

window.onhashchange = function() {
   $(window).trigger("scroll"); 
}

根据您的问题,尚不清楚changeContent()功能的作用。如果它通过 AJAX|H 加载内容,您还必须将插件绑定到新加载的内容。

于 2012-11-02T15:52:45.997 回答