1

index.phpの下部に次の行が含まれています。

<script type="text/javascript" language="javascript" src="class/jquery-1.4.3.min.js">  </script>
<script type="text/javascript" language="javascript" src="class/jquery.nivo.slider.pack.js"></script>
<script type='text/javascript' language='javascript'>
    $(window).load(function() {
        $('#slider').nivoSlider();
    });
</script>

問題は$(window).load...
index.phpの本体は、一致時にdi​​v#sliderを配信するajax呼び出しを介してオンロードで更新されます。これにより、nivoSlider()実行されなくなります。これを機能させるためのトリックはありますか?私はそれを回避する非jqueryの方法を好みますが、結局のところ、何でも役に立ちます。

どうもありがとう

ウェブページはこちら

4

2 に答える 2

5

AJAXロードのコールバックに呼び出しを追加します。

$('.something').load( 'http://www.example.com/foo', function() {
     $(this).find('#slider').nivoSlider();
});

コードを使用した例(本文用):

$(function() { // run on document ready, not window load
     $('#content').load( 'page.php?c=2&limit=5', function() {
           $(this).find('#slider').nivoSlider();
     });
});

リンクの場合:

<!-- updates links like so -->
<a class='nav' href='page.php?category=art&limit=5&c=1'>art</a>

// in the same document ready function
     $('a.nav').click( function() {
          var $link = $(this);
          $('#content').load( $link.attr('href'), function() {
               $(this).find('#slider').nivoSlider();
               $link.addClass('selected'); // instead of setting bg directly to #828282;
          });
          return false; // to prevent normal link behavior
     });
于 2011-03-21T12:14:04.703 に答える
0

$(window)ではなく$(document)を使用したくないですか?

    $(window).load(function(){
        $('#slider')。nivoSlider();
    });

または速記

    $(function(){
        $('#slider')。nivoSlider();
    });

于 2011-03-21T12:22:15.033 に答える