2013-04-30 113 views
0

我没有任何错误,我可以在控制台上看到,但我的循环似乎没有插入任何东西到我的div。你会在第一个FOR循环中看到前置。jQuery prepend()什么都不做

http://jordan.rave5.com/tmpstuff/

jQuery的

// Start Slides 
$.get('http://jordan.rave5.com/tmpstuff/slides.txt', function (data) { 
    var lineArray = data.split('\n'), 
     slideList = [], 
     count = lineArray.length; 
    for (i = 0; i < count; i++) { 
     var line = lineArray[i].split('{|}'); 
     slideList[i] = [], 
     slideList[i]['id'] = line[0], 
     slideList[i]['url'] = line[1]; 
     $('#header-image-border').prepend('<img id="' + line[0] + '" class="header-image-size" src="' + line[1] + '" alt="The Tiger Spot" />'); 
    } 
}); 
$('#hi1').fadeTo(2000, 1.0, function() { 
    var slide = 0, 
     slideShow = setInterval(function() { 
      var nextSlide = slide + 1; 
      if (nextSlide > count - 1) { 
       nextSlide = 0; 
      } 
      $(slideList[slide]['id']).fadeTo(600, 0); 
      $(slideList[nextSlide]['id']).fadeTo(2300, 1.0); 
      slide++; 
      if (slide > count - 1) { 
       slide = 0; 
      } 
     }, 20000); 
    // End Slides 

slides.txt

#hi1{|}slides/head1.jpg 
#hi2{|}slides/head2.jpg 
#hi3{|}slides/head3.jpg 
#hi4{|}slides/head4.jpg 
#hi5{|}slides/head5.jpg 
+1

你确定它被调用吗? – 2013-04-30 04:50:35

+0

你的意思是它预先的时间?因为你的发布代码中只有一个for循环。 – 2013-04-30 05:02:42

+0

前置工作正常,您可以使用浏览器的开发工具栏检查元素,将img节点添加到它 – 2013-04-30 05:04:43

回答

1

你需要为每个前面加上一个新的div。为您的div创建一个模板,您可以克隆每个周期。

jQuery .append() called from within for loop. (Closure Issue?)

+0

代码写入罚款,它似乎以某种方式导致整个JS脚本打破。我担心这可能是淡化的时机? – WASasquatch 2013-04-30 05:09:06

+0

嗯,我知道jquery通常不会在对页面上的元素采取行动时做得很好,这就是为什么我认为创建div模板可以解决此问题。 – 2013-04-30 05:14:42

+0

也许有虚拟的图像,并取代soureces,因为这正是我正在与?由于不透明度设置为0,因此它们不会妨碍它,脚本只会淡化它的用途。 – WASasquatch 2013-04-30 05:45:58

0

prepend()作品,所有的图像对他们opacity:0集这就是为什么他们不显示在页面上。

+0

他们假设。滑块控制着你在下面看到的前置代码。问题是,由于使用prepend来动态添加图像,所以它破坏了我的布局。 – WASasquatch 2013-04-30 05:45:34