繁体   English   中英

jQuery Supersized:从LI加载图像

[英]jQuery Supersized: Load images from LI

我正在使用jQuery Supersized插件( http://buildinternet.com/project/supersized/ )。

我正在尝试实现的是采用这样一个自动生成的列表:

<ul>
    <li><span class="image">/images/image1.jpg</span> <span class="title">My Title</span> <span class="thumb">/images/image-thumb1.jpg</span></li>
    <li><span class="image">/images/image2.jpg</span> <span class="title">My Title</span> <span class="thumb">/images/image-thumb2.jpg</span></li>
    <li><span class="image">/images/image3.jpg</span> <span class="title">My Title</span> <span class="thumb">/images/image-thumb3.jpg</span></li>
</ul>

并采用相关选项并将其添加到幻灯片中:

<script type="text/javascript">
jQuery(function($){
    $.supersized({
        ...
        slide_links : false,
        slides : [
            {image : '/images/image1.jpg', title : 'My title', thumb : '/images/image-thumb1.jpg'},
            {image : '/images/image2.jpg', title : 'My title', thumb : '/images/image-thumb2.jpg'},
            {image : '/images/image3.jpg', title : 'My title', thumb : '/images/image-thumb3.jpg'}
        ]
    });
});
</script>

使用的系统不允许服务器端代码,因此我必须在JS中完成所有操作。

我已经成功创建了一种更简单的方法,但是只能用逗号结尾,这会导致IE8之前的版本崩溃。

因此,这是我能想到的唯一解决方案,但到目前为止尚无法解决。

或多或少:

我可以在列表中获取详细信息并在幻灯片中使用它们来生成超大尺寸的背景图像吗?

例如

这个:

`<li><span class="image">/images/image.jpg</span> <span class="title">My Title</span> <span class="thumb">/images/image-thumb.jpg</span></li>`

对此:

{image : '/images/image.jpg', title : 'My title', thumb : '/images/image-thumb.jpg'}

最后一个没有尾随逗号。

您可以使用以下jQuery构建可滑动数据结构的数据:

var slides = [];           
$("ul .image").each(function() {
    var this$ = $(this);
    var obj = {};
    obj.image = this$.text();
    obj.title = this$.nextAll(".title").text();
    obj.thumb = this$.nextAll(".thumb").text();
    slides.push(obj);
});​​​​​​​​​​​​​​​

工作演示: http : //jsfiddle.net/jfriend00/bYs​​4x/

<script type="text/javascript">
    myApp = {};
    myApp.doSupersize = function() {

        var slides = new Array();

        $("li").each(function(){
            var obj = {
                image: $(".image", this).html(),
                title: $(".title", this).html(),
                thumb: $(".thumb", this).html()
            };
            slides.push(obj);
        });

        $.supersized({
            slide_links : false,
            slides : slides
        });
    }

    jQuery(function(){
        myApp.doSupersize();
    });

</script>​​​​​​​​​

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM