2012-10-18 65 views
1

我試圖做一個子菜單,能夠在不刷新的情況下更改頁面內容,因此我使用AJAX選項卡調用外部htm。這些選項卡正在工作,但我的外部htm中有一個JavaScript,它使得白色導航箭頭正常工作,並且還交叉淡化內容,這不起作用。我該如何解決?JavaScript無法在AJAX調用後工作 - AJAX選項卡

我談論這個特定頁面 - 「尼克101」
www.adigitalgoodie.com/about.htm

它應該工作像它在第一頁
www.adigitalgoodie.com/index.htm

這是HTM內的JavaScript,取通過AJAX,這是不工作:

<script type="text/javascript"> 

     $('.contentnavright').click(function(){ 
      $('.contenttext1').fadeOut(); 
      $('.contenttext2').fadeIn(); 
      $('.contentnavleft').css('opacity', '1'); 
      $('.contentnavleft').css('-moz-opacity', '1'); 
      $('.contentnavleft').css('filter', 'alpha(opacity=100)'); 
      $('.contentnavright').css('opacity', '0'); 
      $('.contentnavright').css('-moz-opacity', '0'); 
      $('.contentnavright').css('filter', 'alpha(opacity=0)')  
     }); 

     $('.contentnavleft').click(function(){ 
      $('.contenttext1').fadeIn(); 
      $('.contenttext2').fadeOut(); 
      $('.contentnavleft').css('opacity', '0'); 
      $('.contentnavleft').css('-moz-opacity', '0'); 
      $('.contentnavleft').css('filter', 'alpha(opacity=0)'); 
      $('.contentnavright').css('opacity', '1'); 
      $('.contentnavright').css('-moz-opacity', '1'); 
      $('.contentnavright').css('filter', 'alpha(opacity=100)') 
     }); 

     </script> 

回答

0

看來,腳本是所有頁面相同。 因此你可以把它放在主HTML,並使用直播/ jQuery的方法:

$("#container").on("click", ".contentnavright", function(){whatever}); 
+0

這似乎並不奏效。或者,也許我只是做錯了。必須是後者。無論如何謝謝:) – ODDFUSE

0

把這些代碼在一個函數,和你的Ajax請求後調用該函數完成

+0

你能向我解釋如何做到這一點?也許包括一個例子。 非常感謝! – ODDFUSE

+0

@A Digital Goodie發佈了另一個答案,因爲在評論中寫下它是不可能的:D – Baronth

0
$('.contentnavleft').click(myFunc); 

function myFunc(){ 
    $('.contenttext1').fadeIn(); 
    $('.contenttext2').fadeOut(); 
    $('.contentnavleft').css('opacity', '0'); 
    $('.contentnavleft').css('-moz-opacity', '0'); 
    $('.contentnavleft').css('filter', 'alpha(opacity=0)'); 
    $('.contentnavright').css('opacity', '1'); 
    $('.contentnavright').css('-moz-opacity', '1'); 
    $('.contentnavright').css('filter', 'alpha(opacity=100)') 
} 

然後,當您完成您的ajax請求時,您將$('.contentnavleft').click(myFunc);再次將該函數綁定到.contentnavleft元素。

+0

但是我在哪裏放置這個?對不起。我對此很感興趣。 :( – ODDFUSE

+0

把'$('。contentnavleft')。click(myFunc);'放在$(body).onload()裏面,另一個放在script標籤內的代碼中,然後在ajax請求結束時,當它被處理 – Baronth

+0

我似乎沒有這個$(body).onload() - 我在哪裏把這個? 我該如何把函數放在ajax請求的末尾? 對不起:) – ODDFUSE