2011-07-29 82 views
0

所以我是一個begginer,我真的需要幫助 所以我寫這個功能在這裏; 目標是把作爲參數的元素名稱,一個div標籤選擇器和一個PHP文件的地址,導航與javascript

function navigation($nav,$container,$link) 
{ 


$($nav).click(function(){ 
    $($container).slideUp(500,function(e){ 
    $(this).append("<span>"); 
    $(this).load($link); 
    }); 
    }); 
    { 
    $($container).ajaxComplete(function(){ 
    $(this).slideDown(500); 
}); 
    } 
    { 
    $($container).slideUp(500); 
    } 
} 

使用簡單

navigation("#home",".content","home.php"); 
    navigation("#about",".content","about.php"); 
    navigation("#store",".content","right.php"); 

的HTML是短短<div>一個與class=".content"標記和<a>鏈接調用#home #about #store PHP中的頁面只是純HTML內部;


現在的問題是,當我點擊它的作品的鏈接,但我能找到如何讓他主動鏈接無法點擊它變得活躍 ,我正要做一個子表具有相同功能的嘗試加載後包含鏈接的導航鏈接下的小div,但我無法找到如何做 任何一個親有什麼想法?

回答

1

我可以幫助,但它的將是相當重寫。

首先,給你所有的導航項目一個類。在導航項目(我不知道他們是div,li元素或其他,不知道,把一個<a>標記與src設置爲您要導航加載頁面。完成後它可能看起來像這樣︰

<ul id="navigation"> 
    <li class="nav"> 
     <a src="home.php">HOME</a> 
    </li> 
    <li class="nav"> 
     <a src="about.php">ABOUT</a> 
    </li> 
    <li class="nav"> 
     <a src="right.php">RIGHT</a> 
    </li> 
</ul> 

然後使用jQuery的onload功能結合的Click事件onload事件,而不是調用你的導航功能的3倍。你從孩子的li<a>標籤點擊搶SRC。

$(function() 
{ 
    $('.nav').click(function() 
    { 
     if($(this).hasClass('active')) 
     { 
      return false; 
     } 
     $(this).siblings('li').removeClass('active'); 
     $(this).addClass('active'); 

     $('.content').slideUp(500).load($(this).children('a').attr('src'), 
      null, 
      function(){$(this).slideDown(500);} 
     ); 
     return false; 
    }); 
}); 

注意return false;是重要的防止鏈接的默認動作(即,將用戶發送到其他頁面)。

+0

Uncaught TypeError:Object# has no method'child' javascript控制檯顯示我這個錯誤 你確定你沒有忘記什麼? – Qchmqs

+0

嘎,它是'孩子'而不是孩子。 UFC在電視上分心。現在更新。 – Endophage

+0

@Qchmqs現在應該很好。 – Endophage

0

有幾種方法可以使鏈接不可點擊。其中之一是讓點擊事件本身解除綁定:

$('nav')click(function(){ 
//Your code goes here 
$(this).unbind('click'); 
}); 

另一個辦法是操縱它的CSS隱藏元素(設置displaynone)。

至於你的問題的第二部分,我真的不明白你想要做什麼。如果你想有鏈接下一個彈出式視窗,即懸停激活,你可以在這裏看到如何可以通過使用<ul>及其:hover事件實現

http://jsfiddle.net/D3AP2/