jquerymobile+;Flexslider-在回调后使用渐进式图像加载AJAX进行幻灯片放映

jquerymobile+;Flexslider-在回调后使用渐进式图像加载AJAX进行幻灯片放映,jquery,jquery-mobile,flexslider,Jquery,Jquery Mobile,Flexslider,我有一个问题,重新初始化flexslider上的新幻灯片后,一个回调和4张幻灯片被刷/使用,它不会工作 这里有一个JSFIDLE,您可能需要检查它 还要注意的是,他们实现的新函数是slide.add()和slide.remove(),没有关于这些新函数的更多信息。我不知道如何使用它们,然后我尝试了一下,但没有效果 我需要一个类似循环的函数,当你向后滑动时,它会恢复旧幻灯片并删除新幻灯片,然后你向前滑动,它会删除旧幻灯片并添加新幻灯片,这是由于移动设备上的DOM内存性能 如有任何帮助或建议,如i

我有一个问题,重新初始化flexslider上的新幻灯片后,一个回调和4张幻灯片被刷/使用,它不会工作

这里有一个JSFIDLE,您可能需要检查它

还要注意的是,他们实现的新函数是slide.add()和slide.remove(),没有关于这些新函数的更多信息。我不知道如何使用它们,然后我尝试了一下,但没有效果

我需要一个类似循环的函数,当你向后滑动时,它会恢复旧幻灯片并删除新幻灯片,然后你向前滑动,它会删除旧幻灯片并添加新幻灯片,这是由于移动设备上的DOM内存性能

如有任何帮助或建议,如iframe、ajax、loadhtml等,我们将不胜感激


谢谢大家!

我深入研究代码,发现end参数传递一个slider对象,您可以调用addSlide函数

$(window).load(function() {
  $('.flexslider').flexslider({
    animation: "slide",
    controlNav: false,
    directionNav: true,
    slideshow: false,
    animationLoop: false,
    end: function(slider){
      //When 4 slides are done, it creates a callback function, but the slider is broken.             
      alert("Callback after of 4 slides");
      slider.addSlide('<li><img  title="Random 2." src="http://i.imgur.com/i32ru.jpg"> <p class="flex-caption">Captions and cupcakes. Winning combination.</p> </li>');
      slider.addSlide('<li><img  title="Random 2." src="http://i.imgur.com/6sMlb.jpg"> <p class="flex-caption">Captions and cupcakes. Winning combination.</p> </li>');
   }  
  });
});​
$(窗口).load(函数(){
$('.flexslider').flexslider({
动画:“幻灯片”,
控制导航:错误,
方向导航:对,
幻灯片放映:错误,
animationLoop:false,
结束:功能(滑块){
//完成4张幻灯片后,它将创建一个回调函数,但滑块已损坏。
警报(“4张幻灯片后的回调”);
slider.addSlide(“
  • 标题和纸杯蛋糕。获胜组合。

  • ”); slider.addSlide(“
  • 标题和纸杯蛋糕。获胜组合。

  • ”); } }); });​
    我可以通过一些属性来修复它:

    end:函数(滑块){
    //除去最后一张幻灯片以外的所有幻灯片
    slider.slides.not(“:last”).map(函数(idx,slide){slider.removeSlide(slide);});
    slider.currentSlide=0;
    slider.count=1;//1因为我们留下了1张幻灯片
    //在此处添加幻灯片
    slider.addSlide(“
  • …”); }
  • 如果要删除所有幻灯片,只需从第一部分中删除
    .not(“:last”)
    ,并设置
    slider.count=0


    这似乎是
    removeSlide
    addSlide
    函数上的一个错误,因此我重置了这些值,它起了作用。

    使用
    slider.addSlide
    的偏移功能来指定新幻灯片的索引。例如:

    slider.addSlide('<li><img  title="Random 2." src="http://i.imgur.com/i32ru.jpg"> <p class="flex-caption">X</p> </li>', **slider.currentSlide+1**);
    
    slider.addSlide(“
  • X

  • ”,**slider.currentSlide+1**);
    我不明白你想干什么。您正在尝试在滑入和滑出图像时动态加载每个图像?这四张幻灯片有什么关系?请详细说明。您可以看到这个JSFIDLE,当回调发生在接下来的5张幻灯片之后,它应该执行AJAX加载新的5张幻灯片并删除5张旧幻灯片。还要确保如果你做了前5张幻灯片,应该删除5张新幻灯片,加载5张旧幻灯片,这就像一个循环。我也有同样的问题,伊万。我读过泰勒本人对类似于“重新初始化flexslider”的问题的回答。好吧,我试过了,我得到了与你类似的结果。我递归调用flexslider函数,但它只是清空所有内容,不会“重新索引”幻灯片计数和位置。是的,rob,我注意到它不会重新初始化,所以我想知道有两个函数,如slide.add()和slide.remove(),我想我们需要等待它们更新文档。在github自述中,它说,
    addSlide()
    需要两个参数:
    slider.addSlide(obj,pos)
    接受两个参数,一个字符串/jQuery对象和一个索引。这很酷!,看,没有办法在回调结束后删除幻灯片。
    slider.addSlide('<li><img  title="Random 2." src="http://i.imgur.com/i32ru.jpg"> <p class="flex-caption">X</p> </li>', **slider.currentSlide+1**);