2012-04-19 113 views
0

我有一個菜單用於顯示/隱藏內容。很好用,但是當用戶點擊第一個鏈接時,我想重新加載整個頁面,而不是執行顯示/隱藏功能。對於其他菜單項,我想保持顯示/隱藏。在jQuery上打開新頁面單擊+停止顯示/隱藏

這裏是我的代碼:

jQuery的

$(document).ready(function() { 

    $('#nav li a').first().addClass('blue'); 

    $('#nav li a').click(function(){ 

    $('#nav li a').first().removeClass('blue'); 
    $('#nav li a').removeClass('blue'); 
    $(this).addClass('blue'); 

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

HTML

<div id="leftcol"> 

<div id="menu"> 
<ul id="nav"> 
<li><a href="/option1">Option 1</a></li><br /> 
<li><a href="/option2">Option 2</a></li><br /> 
<li><a href="/option3">Option 3</a></li><br /> 
</ul> 
</div> 
</div> 

<div id="content"> 
<div> 

回答

2

在你$('#nav li a').click(function(){塊,你要檢查它是否在第一項列表,如果是,只需返回以刷新頁面:

$(document).ready(function() { 
    var $first = $('#nav li a').first(); 

    $first.addClass('blue');  
    $('#nav li a').click(function(){ 
     if (this == $first[0]) { 
      return true; 
     } 

     $first.removeClass('blue'); 
     ... 
+0

謝謝。接受和upvoted。這正是我需要的。 – chowwy 2012-04-19 20:07:16

相關問題