在我的Codeigniter视图中加载我的jquery问题
问题描述:
我正在一个页面的网站上工作,该网站允许用户在那里导航时添加和删除页面,当他们也想要时,它的工作方式是,如果点击“博客'在主导航上的'博客'部分应该出现在页面上,如果他们然后点击'新闻''新闻'部分也应该是可见的,但是我已经开始实施这个方式似乎我只能有一个一段时间,我的代码可以分成多个部分显示在主页面上。在我的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>
答
你应该尝试这样的事情
$('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
答
大厦迈克把..做到这一点:
$('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。
这似乎是一半的工作,页面上的内容显示我想要它约1秒,然后只是导航到页面本身。 – Udders 2009-11-29 17:06:05
你有没有试过接受一个变量的加载内容并将其包装在一个div中? – Mike 2009-11-29 19:40:26
这很接近,但newDiv之前的$?不必要的不是吗? – Zack 2009-11-30 21:23:52