首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery jail插件和图像加载有时不起作用

jQuery jail插件和图像加载有时不起作用
EN

Stack Overflow用户
提问于 2011-12-31 19:18:59
回答 1查看 1K关注 0票数 2

我试着用监狱插件加载图片。它可以工作,但有时不能工作。

下面是我的代码:

代码语言:javascript
复制
<script type="text/javascript">
    $(document).ready(function () {
        //$('img.lazy').jail({
        $("table[id*=dgImages] img").jail({
            //callbackAfterEachImage: function () {},
            //callback: (function () { alert("All the images are loaded"); })
        });
    });
</script>

<asp:DataList ID="dgImages" runat="server" RepeatColumns="4" RepeatDirection="Horizontal" RepeatLayout="Table" CellPadding="1">
    <ItemTemplate>
        <div class="BusyStyles>
            <asp:Image CssClass="lazy" runat="server" id="Image1"  data-href='<%# Eval("photos") %>' BorderWidth="0" alt="" style="width:300px;height:300px;"/>
            <noscript><img class="nolazy" src='<%# Eval("photos") %>' border='0' width="300px" height="300px"/></noscript>
        </div>
    </ItemTemplate>
</asp:DataList>

当我使用类似的语法加载图像时,它可以工作:

代码语言:javascript
复制
$(document).ready(function () {
    $('img.lazy').jail({
        //callbackAfterEachImage: function () {},
        //callback: (function () { alert("All the images are loaded"); })
    });
});

但是当我尝试像这样加载图像时,它不能工作,我不明白为什么:

代码语言:javascript
复制
$(document).ready(function () {
    $("table[id*=dgImages] img").jail({
        //callbackAfterEachImage: function () {},
        //callback: (function () { alert("All the images are loaded"); })
    });
});

这个插件还有一个回调函数,在加载每个图像时都会调用该函数。我想知道加载映像的直接父项是谁。每个图像都包装在一个div中,所以div将成为父对象。展示一种方法,从callbackAfterEachImage回调中,获取加载图像的直接父级的引用。

因此,我可以和那个直接的父母一起工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-01 20:50:19

对我来说,选择器"table[id*=dgImages] img"看起来不错。

我已经构建了一个working example,并且我正确地获得了所有的图像。不过,我不知道控件<asp:DataList>生成的确切标记是什么,所以我编了一些东西。也许您生成的标记稍有不同,因此您的选择器无法工作。

可能有一件事是,div的<div class="BusyStyles>属性缺少一个双引号

对于回调callbackAfterEachImage,有两个参数被传递给函数:作为jquery对象的图像和插件的选项。要获取直接父对象( <div>),只需使用.parent()

代码语言:javascript
复制
$("table[id*=dgImages] img").jail({
    ...
    callbackAfterEachImage: function ($img, options) {
        var $parent = $img.parent();
        alert('parent id: ' + $parent.attr('id'));
    }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8687808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档