Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 解析XML提要以显示Nivo滑块的图像_Javascript_Jquery_Xml_Slider_Nivo Slider - Fatal编程技术网

Javascript 解析XML提要以显示Nivo滑块的图像

Javascript 解析XML提要以显示Nivo滑块的图像,javascript,jquery,xml,slider,nivo-slider,Javascript,Jquery,Xml,Slider,Nivo Slider,我正在和我的老板一起工作,试图制作一个幻灯片,让他很容易更新。XML似乎是完美的实现。我所做的是创建一个XML文件,jQuery将其解析为#slider div。然后Nivo将拾取这些图像并显示它们。但是,似乎在实际解析完成之前加载了NivoSlider,因此Nivo不会检测到这些图像(即使使用Firebug,您可以知道它们在那里)。有没有办法延迟加载NivoSlider,直到解析完此信息?在我开始修复这个bug之前,Nivo有50%的时间会检测到图像,而另一半时间不会。。。你可以看到这里发生了

我正在和我的老板一起工作,试图制作一个幻灯片,让他很容易更新。XML似乎是完美的实现。我所做的是创建一个XML文件,jQuery将其解析为#slider div。然后Nivo将拾取这些图像并显示它们。但是,似乎在实际解析完成之前加载了NivoSlider,因此Nivo不会检测到这些图像(即使使用Firebug,您可以知道它们在那里)。有没有办法延迟加载NivoSlider,直到解析完此信息?在我开始修复这个bug之前,Nivo有50%的时间会检测到图像,而另一半时间不会。。。你可以看到这里发生了什么:

XML:


符合事实的
计算机科学再次获胜
计算机科学
图片/up.jpg
http://www.google.com
JavaScript:

// XML Parser
function parseXML() {

    // Get XML File
    $.get('example.xml', function(xml){

        // Loop Through Each Entry in XML
        $(xml).find('entry').each(function(){

            // Declare Variables
            var entry = $(this);
            var type = entry.find('slider').text();
            var title = entry.find('title').text();
            var department = entry.find('department').text();
            var image = entry.find('image').text();
            var link = entry.find('link').text();

            // Sort Through Item Types
            if(type == 'true'){
                var slider = '<a href="' + link + '"><img src="' + image + '" title="' + title + '" alt="' + department + '" /></a>';
            }
            if(type == 'false'){
                var archive = '<h2>' + department + '</h2><p>' + title + '</p><a href="' + link + '">Read More</a>';
            }

            // Append Data
            $("#archive").append(archive);
            $("#slider").prepend(slider);

        });

    });

}

$.when( parseXML() ).done(function(){
         $('#slider').nivoSlider();
    });
//XML解析器
函数parseXML(){
//获取XML文件
$.get('example.xml',函数(xml){
//循环遍历XML中的每个条目
$(xml).find('entry').each(function(){
//声明变量
var条目=$(此项);
var type=entry.find('slider').text();
var title=entry.find('title').text();
var department=entry.find('department').text();
var image=entry.find('image').text();
var link=entry.find('link').text();
//按项目类型排序
如果(类型=='true'){
var滑块=“”;
}
如果(类型=='false'){
var存档=''+部门+''+标题+'

'; } //附加数据 $(“#档案”)。追加(档案); $(“#滑块”)。前置(滑块); }); }); } $.when(parseXML()).done(function()函数){ $(“#滑块”).nivoSlider(); });
对于这样的任务,您更愿意使用JSON:a)文件更小b)JSON JavaScript解析器更快c)该用例的示例更多。尽管如此,我的经验是,JSON比XML更难阅读。所以这个决定也是基于语法的。。。。但即使使用JSON,如果NivoSlider仍然首先加载,我仍然会遇到同样的问题。
// XML Parser
function parseXML() {

    // Get XML File
    $.get('example.xml', function(xml){

        // Loop Through Each Entry in XML
        $(xml).find('entry').each(function(){

            // Declare Variables
            var entry = $(this);
            var type = entry.find('slider').text();
            var title = entry.find('title').text();
            var department = entry.find('department').text();
            var image = entry.find('image').text();
            var link = entry.find('link').text();

            // Sort Through Item Types
            if(type == 'true'){
                var slider = '<a href="' + link + '"><img src="' + image + '" title="' + title + '" alt="' + department + '" /></a>';
            }
            if(type == 'false'){
                var archive = '<h2>' + department + '</h2><p>' + title + '</p><a href="' + link + '">Read More</a>';
            }

            // Append Data
            $("#archive").append(archive);
            $("#slider").prepend(slider);

        });

    });

}

$.when( parseXML() ).done(function(){
         $('#slider').nivoSlider();
    });