javascript - 使用 .load(); 为 JQuery/Javascript Image Gallery 实现 Loader Image

标签 javascript jquery html image load

我将下面的代码用于图片库,并希望在加载图片时在后台显示一个加载器 gif,然后在加载图片后将其删除。

执行此操作的最佳方法是什么?

注意:我之前附上了 .fadeIn().fadeOut() 运气不太好(看起来两者同时出现。

    $('ul a').click(function(e) {
        e.preventDefault();
        var src = $(this).attr("href");
        $('#main-img img').fadeOut(400,
        function() {
            $('<img/>').attr('src', src).load(function() {                  
                $('#main-img img').attr('src', this.src).fadeIn(400);
            })
        })
    });                                          

最佳答案

我整理了一个似乎可以正常工作的 JSFiddle(红色是您的加载图像)。也许您在 DOM 完全加载之前注册了您的点击?我唯一看到的不同是我在 Document Ready 上注册了它。

http://jsfiddle.net/sSt3x/2/

请注意,图像非常大(4000x4000 左右)所以稍等片刻,第一张图像没有褪色,因此最初加载需要一些时间。根据您的行为进行必要的调整。

关于javascript - 使用 .load(); 为 JQuery/Javascript Image Gallery 实现 Loader Image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5384404/

相关文章:

javascript - 如果重新加载页面,鼠标手形光标会在 Google Chrome 中消失

JavaScript HTML - 按内容优化页面上的项目

javascript - 提交前验证问题

javascript - Express.js 内部,应用程序对象的挂载路径存储在哪里?

jquery - 如何从不同的应用程序远程调用Grails Web服务

javascript - 修改子 div 的 innerHTML

javascript - 我的 JavaScript 似乎忽略了数组中的第一个元素

javascript - 从用户输入中获取 JS 对象数据

javascript - Spring MVC 中的 Ajax post 请求

html - 两个元素没有彼此相邻对齐