2009-11-29 62 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。