2014-01-10 28 views
0
<div id="logo"><!-- logo --> 
<a href="index.php" id="ajax_link">My Site</a> 
</div><!-- end logo --> 

<?php 
if ($_SESSION['uid'] == "") 
    { 
     echo "<div id='main_menu' class='log'>You are not logged in &bull; <a href='login.php'>Login</a><br \></div>"; 
     exit(); 
    } 
else 
    { 
     echo " 
      <div id='main_menu'> 
      <ul> 
      <li class='bar'>&nbsp;</li> 
      <li><a href='index.php' id='ajax_link'>Edit Site</a></li> 
      <li class='bar'>&nbsp;</li> 
      <li><a href='docs.php' id='ajax_link'>My Documents</a></li> 
      <li class='bar'>&nbsp;</li> 
      <li><a href='contacts.php' id='ajax_link'>Web Contacts</a></li> 
      <li class='bar'>&nbsp;</li> 
      <li><a href='social.php' id='ajax_link'>Social Media</a></li> 
      <li class='bar'>&nbsp;</li> 
      You are logged in as ".$_SESSION['username']." &bull; <a href='logout_parse.php'>Logout</a><br \> 
      </ul> 
      </div> 
     "; 
    } 
?> 

我有這個菜單系統建立(上面),我使用ajax和jquery來改變主要內容(下)取決於已選擇菜單項。Javascript函數影響頁面的其他區域比指定

var hash = window.location.hash.substr(1); 
    var href = $('#ajax_link').each(function(){ 
     var href = $(this).attr('href'); 
     if(hash==href.substr(0,href.length-4)){ 
      var toLoad = hash+'.html #content'; 
      $('#content').load(toLoad) 
     }           
    }); 
    $('a').click(function(){      
     var toLoad = $(this).attr('href')+' #content'; 
     $('#content').fadeOut('fast',loadContent); 
     window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length); 
     function loadContent() 
     { 
      $('#content').load(toLoad,'',showNewContent()) 
     } 
     function showNewContent() 
     { 
      $('#content').fadeIn('normal'); 
     } 
     return false; 
    }); 

但是出於某種原因這個代碼是影響登錄和註銷的鏈接,以及,我不希望這種情況發生。

我只是最近增加了#ajax_links來嘗試修復這個問題,因爲我之前使用#main_menu ul li a和#logo a。

誰能告訴我怎樣才能解決這個

+0

'$( '#ajax_link')each'會由於ID是唯一的,因此只選擇一個元素。 –

回答

3

首先,id屬性應該是唯一的。將所有這些鏈接使用類,而不是:

<li><a href='index.php' class='ajax_link'>Edit Site</a></li> 

現在用它來提高選擇

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

而且

$('.ajax_link').each(function(){ 
    .... 
+0

好吧,我應該看到,我只是看着它太長時間了。我已經改變了它,但它仍然無法正常工作。 –

+0

define:is not working – Jamiec

+0

由於它在index.php /#login.php中,而不僅僅是login.php –

相關問題