2012-01-11 76 views
0

Hy我已經嘗試了2天來修改此腳本,所以我可以在每次鏈接有id =「paginations」時都會調用它當然不成功(僅僅因爲我是newb )。使用Jquery(Paginate)更改內容

我正在試圖做的是調用這個函數來加載並更改#content,即使鏈接在#content中。喜歡這個。

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

我試着創建一個函數,並用onClick調用它,但我不成功。如果鏈接在#Content之外,此腳本完美工作,但我需要它在#Content內部工作。請有任何想法嗎?

$(文件)。就緒(函數(){

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

如果被添加使用JavaScript的鏈接,我認爲這是你正在嘗試做的,那麼你需要使用直播功能。目前,你有

$('.pagination a').click(

哪些應改爲:

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

你可以閱讀更多有關活動here。點擊的問題在於,它不會被添加到函數設置後創建的元素中,而是作爲現場使用。

+1

請注意,.live方法在jQuery 1.7中已棄用。如果您有jQuery 1.7或更高版本,您應該使用.on方法進行事件委託:http://api.jquery.com/on/ – alexp 2012-01-11 17:51:41

+0

tnks很多工作都像魅力一樣希望這可以幫助別人解決這個問題, – 2012-01-11 22:10:05