如何使jQuery Fancybox接受我的对象作为有效的打开参数? [英] How do I get jQuery Fancybox to accept my object as a valid open parameter?

查看:113
本文介绍了如何使jQuery Fancybox接受我的对象作为有效的打开参数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一些使用这种格式的html:

I have some html in this format:

<div id="logos" class="downloadlist">
    <ul>
        <li><a href="/toolkit/logos/download.jpg" data-image="images/toolkit/logos/one.jpg">First Logo</a></li>
        <li><a href="/toolkit/logos/download.jpg" data-image="images/toolkit/logos/two.jpg">Second Logo</a></li>
        <li><a href="/toolkit/logos/download.jpg" data-image="images/toolkit/logos/three.jpg">Third Logo</a></li>
    </ul>
</div>

我想逐步了解它,并将其提供给Fancybox 像这样.

I want to step through it and provide it to Fancybox like this.

我已经了解到了这一点,但事实证明它是行不通的:

I've got as far as this, but it's straight-up not working:

downloadList = $('#logos ul li a');

var downloadArray = {};

downloadJSON = '';

$.each(downloadList, function(d)
{
    var download = $(this);
    var href = download.data('image');
    var title = download[0].innerText;
    var link = download[0].href;

    downloadArray[d] = {};
    downloadArray[d].href = href;
    downloadArray[d].title = "<a href=\'" + link + "\'>"+title+"</a>";

    downloadJSON += JSON.stringify(downloadArray[d])+',';
});

downloadJSON = downloadJSON.slice(0, -1);

$.fancybox.open([downloadArray]);

downloadJSON给了我

downloadJSON gives me:

{"href":"images/toolkit/logos/one.jpg","title":"<a href='http://example.com/toolkit/logos/download.jpg'>First Logo</a>"},{"href":"images/toolkit/logos/two.jpg","title":"<a href='http://example.com/toolkit/logos/download.jpg'>Second Logo</a>"},{"href":"images/toolkit/logos/three.jpg","title":"<a href='http://example.com/toolkit/logos/download.jpg'>Third Logo</a>"}

JSON.stringify-ing downloadArray对象给我:

JSON.stringify-ing the downloadArray object gives me:

{"0":{"href":"images/toolkit/logos/one.jpg","title":"<a href='http://example.com/toolkit/logos/download.jpg'>First Logo</a>"},"1":{"href":"images/toolkit/logos/two.jpg","title":"<a href='http://example.com/toolkit/logos/download.jpg'>Second Logo</a>"},"2":{"href":"images/toolkit/logos/three.jpg","title":"<a href='http://example.com/toolkit/logos/download.jpg'>Third Logo</a>"}} 

任何帮助将不胜感激.

推荐答案

links = [];
$('#logos ul li a').each(function() {
   links.push({
      href: $(this).attr('data-image'),
      title: "<a href=\'" + $(this).attr('href') + "\'>"+$(this).html()+"</a>"
   });
});
//JSON.stringify(links);
$.fancybox.open(links);

这篇关于如何使jQuery Fancybox接受我的对象作为有效的打开参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆