2009-11-29 37 views
0

我正在一個頁面的網站上工作,該網站允許用戶在那裏導航時添加和刪除頁面,當他們也想要時,它的工作方式是,如果點擊「博客'在主導航上的'博客'部分應該出現在頁面上,如果他們然後點擊'新聞''新聞'部分也應該是可見的,但是我已經開始實施這個方式似乎我只能有一個一段時間,我的代碼可以分成多個部分顯示在主頁面上。在我的Codeigniter視圖中加載我的jquery問題

這是我的代碼頁面有主菜單和用戶選擇它。

<!DOCTYPE html> 
<head> 
    <title>Development Site</title> 
    <link rel="stylesheet" href="/media/css/reset.css" media="screen"/> 
    <link rel="stylesheet" href="/media/css/generic.css" media="screen"/> 
    <script type="text/javascript" src="/media/javascript/jquery-ui/js/jquery.js"></script> 
    <script type="text/javascript" src="/media/javascript/jquery-ui/development-bundle/ui/ui.core.js"></script> 
    <script type="text/javascript" src="/media/javascript/jquery-ui/development-bundle/ui/ui.accordion.js"></script> 
    <script type="text/javascript"> 
    $(document).ready(function() { 
      $('a.menuitem').click(function() { 
       var link = $(this), url = link.attr("href"); 
        $("#content_pane").load(url); 
        return false; // prevent default link-behavior 
      }); 
    }); 
     </script> 
    </head> 
    <body> 
     <li><a class="menuitem" href="inspiration">Inspiration</a></li> 
     <li><a class="menuitem" href="blog">Blog</a></li> 
     <div id="content_pane"> 

     </div> 
    </body> 
    </html> 

回答

0

你應該嘗試這樣的事情

$('a.menuitem').click(function() { 
        var link = $(this), url = link.attr("href"); 
         var $newDiv = '<div></div>'; 
         $("#content_pane").append($newDiv); 
         $newDiv.load(url); 
         return false; // prevent default link-behavior 
      }); 

我還沒有測試這一點,但它應該工作。如果你可以請報告你的結果。

另外,您可以創建一個存儲加載的內容變量,把它包裝成一個div元素和創建的元素追加到#content_pane

+0

這似乎是一半的工作,頁面上的內容顯示我想要它約1秒,然後只是導航到頁面本身。 – Udders 2009-11-29 17:06:05

+0

你有沒有試過接受一個變量的加載內容並將其包裝在一個div中? – Mike 2009-11-29 19:40:26

+0

這很接近,但newDiv之前的$?不必要的不​​是嗎? – Zack 2009-11-30 21:23:52

0

大廈邁克把..做到這一點:

$('a.menuitem').click(function(e) { 
        var link = $(this), url = link.attr("href"); 
         var $newDiv = '<div></div>'; 
         $("#content_pane").append($newDiv); 
         $newDiv.load(url); 
         e.preventDefault; // prevent default link-behavior 
      }); 

e.preventDefault();將停止發生的默認操作。那麼它不應該遵循鏈接。返回False通常用於.submit()函數中。您需要爲.click()提供.preventDefault。

相關問題