jquery - 尝试让 jCarousel 在单击“下一步”按钮时获取新的记录集

标签 jquery

过去两天我一直在努力让这个东西调用我 getJSON 并根据 carousel.last 获取一组新记录 单击下一步按钮时的值。启动时加载 3 张图片 很好,但是下一个按钮未启用,因为我只有 3 个 已加载,并且队列中不再有任何徘徊。我什么都不想要 挥之不去。

看看这个例子,这就是我想要做的,但相反 使用 getJSON 方法获取新的图像集:

http://sorgalla.com/projects/jcarousel/examples/dynamic_flickr_api.html

这是我的代码,但它不起作用,这意味着我加载了 3 个图像并且 下一个按钮未启用。即使我加载 4 张图像(以获得 下一个按钮可点击,因为我已经加载了 4 张图像并且它知道 除了 3) 之外还有另外一个,它不会去获取一个 新的 3 张图像集:

<script src="../scripts/jquery-1.3.2.min.js" type="text/javascript"></
script>
<script src="../scripts/jquery.jcarousel.pack.js" type="text/
javascript"></script>
<link rel="stylesheet" type="text/css" href="../css/
jquery.jcarousel.css" />
<link rel="stylesheet" type="text/css" href="../css/skin.css" />

<script type="text/javascript">

jQuery(document).ready(function()
{
    $('#mycarousel').jcarousel({
        itemLoadCallback: mycarousel_itemLoadCallback
    });

});

function decode(s)
{
    return s.replace(/&amp;/g, "&")
            .replace(/&quot;/g, '"')
            .replace(/&#039;/g, "'")
            .replace(/&lt;/g, "<")
            .replace(/&gt;/g, ">");

};

function mycarousel_itemLoadCallback(carousel, state) {

    carousel.lock();

        //for (var i = carousel.first; i <= carousel.last; i++) {
            mycarousel_itemAddCallback(carousel, carousel.first,
carousel.last);
        //}

};

function mycarousel_itemAddCallback(carousel, first, last) {
    // Unlock
    carousel.unlock();

    $.getJSON("http://localhost:59396/xxx/xxxHandler.ashx?
action=carouselproducts&setsize=3" + "&cfirst=" + carousel.first +
"&clast=" + carousel.last,
        function(data) {
            carousel.size(data.length);
            $.each(data, function(i, item) {
                carousel.add(i, decode(item.ImageTag));
                if (i == 3) return false;
            });
        });

};

</script>

</head>
<body>
    <form id="form1" runat="server">
        <div>
            <ul id="mycarousel" class="jcarousel-skin-ie7">
                <!-- this will be dynamically populated -->
            </ul>
        </div>
    </form>
</body>
</html>

我不知道这里还能尝试什么,也不知道如何让它像下面一样工作 例子。我认为我不需要所有的分页逻辑,因为我 不使用 Flickr,我只想将下一组设置为基于获取 在轮播的第一个和最后一个索引上,通过单击下一个或上一个按钮调用我的 getJSON。

最佳答案

我拿走了你的代码并在 FF4 和 IE9 中运行它。下一个按钮已启用,当我单击下一个图标时,我什至看到正在进行 ajax 调用。您的问题浏览器是否特定?

enter image description here

关于jquery - 尝试让 jCarousel 在单击“下一步”按钮时获取新的记录集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1063400/

相关文章:

java - 监听所有表单提交事件并在任何其他附加事件处理程序之前执行功能

javascript - 从 flickr 集中选择随机图像并将其附加到 div

javascript - 从 Javascript 中的 DateTime 对象中仅提取日期?

javascript - 在 AJAX 调用后在页面上搜索单词

javascript - 事件按钮在 JQuery 中不起作用

jquery - 如何使用 jQuery 切换主复选框的状态

jQuery Mobile - 将页面分成 4 个部分

javascript - Framework 7 onclick 事件绑定(bind)不起作用

jquery - 显示/隐藏表格行

javascript - 通过 JQuery post 发送数组导致 RangeError : Maximum call stack size exceeded