2012-01-11 2 views
0

私はこのスクリプトを修正するために2日間試していますので、リンクがid = "paginations" )。内容をJquery(ぺージ)で変更します

私がしようとしているのは、リンクが#content内にあっても#contentを読み込んで変更することです。このような。

<div class="pagination"> 
    <a href="test.php">clik2</a> 
    </div> 

私は関数を作成してonClickで呼び出そうとしましたが、失敗しました。リンクが#Contentの外にある場合でも、このスクリプトは完璧に機能しますが、#Content内でも動作する必要があります。どんなアイデアですか?

$は、私はあなたがやろうとしているものだと思います(ドキュメント).ready(関数(){リンクはJavaScriptを使用して追加されている場合

var hash = window.location.hash.substr(1); 
var href = $('.pagination a').each(function(){ 
    var href = $(this).attr('href'); 
    if(hash==href.substr(0,href.length-5)){ 
     var toLoad = hash+'.html #content'; 
     $('#content').load(toLoad) 
    }           
}); 

     $('.pagination a').click(function(){ 

      var toLoad = $(this).attr('href')+' #content'; 
      $('#content').hide('1000',loadContent); 
      $('#load').remove(); 
      $('#wrapper').append('<span id="load"></span>'); 
      $('#load').fadeIn('slow'); 
      window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5); 
       function loadContent() { 
        $('#content').load(toLoad,'',showNewContent()) 
       } 
       function showNewContent() { 
        $('#content').delay(100).show('fast',hideLoader()); 
        $(window).scrollTop(''); 
       } 
       function hideLoader() { 
        $('#load').delay(300).fadeOut('fast'); 
       } 
      return false; 
    }); 
}); 

答えて

1

は、その後、あなたはライブ機能を使用する必要があります。現在、あなたはに置き換えてください

$('.pagination a').click(

を持っている:

$('.pagination a').live('click',function() { 

あなたはライブの詳細を読むことができますhere。クリックの問題は、関数が設定された後に作成される要素に追加されないことです。

+1

.liveメソッドはjQuery 1.7では非推奨です。 jQuery 1.7以降を使用している場合、イベントの委譲には.onメソッドを使用する必要があります。http://api.jquery.com/on/ – alexp

+0

多くの人が魅力的なように働いていました。これは他の誰かがこれを癒すのに役立ちます。 –

関連する問題