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が更新されることです。とにかく、カルーセルを再び実行するためにjquery関数を再起動するajax呼び出しの成功に基づくものはありますか?

4

3 に答える 3

1

次のようなものをコールバックに追加します。

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

    }
});

動作するはずです。尊敬!

于 2013-01-07T11:54:10.947 に答える
1

呼び出すAJAXのコールバック関数で、次のように再適用する必要があります。

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

            }
        });
...
}

.html()要素を書き直すための関数などを使用している場合はfoo、それに関連付けられているイベントもすべて消去しているため、もう一度呼び出す必要があります。

于 2013-01-07T11:46:13.860 に答える
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 に答える