0

我在下面有这个功能。效果很好,来自http://caroufredsel.dev7studios.com/ (到目前为止,如果其他人在轮播之后,我发现这是最好的和最容易的)

<script type="text/javascript" language="javascript">
  $(function() {
    $('#foo1').carouFredSel({
     auto: {
     pauseOnHover: 'resume',
     progress: '#timer1'
     }
    });
  });
</script>

无论如何,我的轮播会循环选择一系列图像。现在我有一个单独的函数,通过下面的 ajax 调用重新加载 div。它根据用户选择的文件夹用一组新的图像填充 div。

<script>
  function getImages(id)
  {
     $.ajax({

 type: "GET",
 url: 'getImage.php',
 data: "id=" + id, 
 success: function(data) {

      $('#scrolimg').html(data);
    }

   });

  }
</script>

这也很好用。问题是当您单击一个新文件夹并重新加载时,会刷新轮播完全停止的 div。无论如何基于ajax调用的成功来重新触发jquery函数以使轮播再次运行?

4

3 回答 3

1

在你调用的AJAX的回调函数上,你要重新申请:

success: function(data) {  
        $('#foo1').carouFredSel({
            auto: {
                pauseOnHover: 'resume',
                progress: '#timer1'

            }
        });
...
}

如果您使用.html()函数或类似函数来重写foo元素,那么您也将擦除与其关联的任何事件,因此您必须再次调用它。

于 2013-01-07T11:46:13.860 回答
1

在你的回调中添加这样的东西:

$('#foo1').carouFredSel({
    auto: {
        pauseOnHover: 'resume',
        progress: '#timer1'

    }
});

它应该工作。尊重!

于 2013-01-07T11:54:10.947 回答
0

假设在您的示例中 foo1 == scrolimg,请执行以下操作:

<script>
  function getImages(id)
  {
     $.ajax({

 type: "GET",
 url: 'getImage.php',
 data: "id=" + id, 
 success: function(data) {

      $('#scrolimg')
         .carouFredSel('destroy')
         .html(data)
         .carouFredSel({
            auto: {
            pauseOnHover: 'resume',
            progress: '#timer1'
           }
         });
      }

   });

  }
</script>
于 2013-01-07T11:48:55.353 回答