JQuery Cycle 和 JSON with JQuery

标签 jquery ajax json cycle

我发现了非常有趣的 jQuery Cycle 插件。

因此,以下脚本应返回图像:

$(function() { 
// retrieve list of slides from server 
$.getJSON('slidelist.php', startSlideshow); 

function startSlideshow(slides) { 
    /* server returns an array of slides which looks like this: 
    [ 
        'images/beach2.jpg', 
        'images/beach3.jpg', 
        'images/beach4.jpg', 
        'images/beach5.jpg', 
        'images/beach6.jpg', 
        'images/beach7.jpg', 
        'images/beach8.jpg' 
    ] 
    */ 

    var totalSlideCount = 1 + slides.length; 

    var $slideshow = $('#slideshow'); 

    // markup contains only a single slide; before starting the slideshow we  
    // append one slide and prepend one slide (to account for prev/next behavior) 
    $slideshow.prepend('<img src="'+slides.pop()+'" />'); 
    $slideshow.append('<img src="'+slides.shift()+'" />'); 

    // start slideshow 
    $('#slideshow').cycle({ 
        fx: 'scrollHorz', 
        startingSlide: 1,  // start on the slide that was in the markup 
        timeout:  0, 
        speed:    500, 
        prev:    '#prev', 
        next:    '#next', 
        before:   onBefore 
    }); 


    function onBefore(curr, next, opts, fwd) { 
        // on Before arguments: 
        //  curr == DOM element for the slide that is currently being displayed 
        //  next == DOM element for the slide that is about to be displayed 
        //  opts == slideshow options 
        //  fwd  == true if cycling forward, false if cycling backward 

        // on the first pass, addSlide is undefined (plugin hasn't yet created the fn yet) 
        if (!opts.addSlide) 
            return; 

        // have we added all our slides? 
        if (opts.slideCount == totalSlideCount) 
            return; 

        // shift or pop from our slide array  
        var nextSlideSrc = fwd ? slides.shift() : slides.pop(); 

        // add our next slide 
        opts.addSlide('<img src="'+nextSlideSrc+'" />', fwd == false); 
    }; 
}; 

});

但是,由于我对 ajax 非常不好,你能告诉我如何使用它吗

$.getJSON('slidelist.php', startSlideshow); 

要返回图像,我如何接收这些图像网址?

非常感谢, 问候。

最佳答案

嗯..根本不是关于 AJAX 的:)

事情是你在函数 startSlideshow 中收到一个对象:

slides = [ 
    'images/beach2.jpg', 
    'images/beach3.jpg', 
    'images/beach4.jpg', 
    'images/beach5.jpg', 
    'images/beach6.jpg', 
    'images/beach7.jpg', 
    'images/beach8.jpg' 
];

现在您可以使用基本的 for 循环迭代此对象:

for(var i=0, len = slides.length; i<len;i++){
        console.log(slides[i])
}

现在,每个步骤都有一个图像网址:slides[i]。您可以附加到 $('#slideshow') 并开始尝试。

关于JQuery Cycle 和 JSON with JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2340956/

相关文章:

php - 如果内容发生变化,自动刷新 JS 数组?

php - 使用 jquery ajax 将数据传递给 php 的问题

javascript - 使用 json 更改 jstree 节点的颜色

javascript - 将相同的功能应用于多个链接。显示/隐藏div

javascript - jQuery.fadeIn 和 fadeOut 的 CSS3 替换

javascript - 使用 javascript/Jquery 进行 Ajax

json - Kimono Labs 需要很长时间才能创建 API

java - 使用 Java 迭代 JSON 对象无法正常工作

javascript - 仅替换 jquery ajax 调用中的片段

javascript - 从文本区域获取值