【发布时间】:2018-09-24 02:10:52
【问题描述】:
我使用基本的 JS 来更改网站上的内容,而无需传统的超链接。我使用它在另一个文件中加载内容并将其插入到 HTML <div> 中。每个内容页面都包含在 <div> 中。
<!-- Inside head -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#content").load("home.html");
$("#home").click(function(){
$("#content").load("home.html")
});
$("#page1").click(function(){
$("#content").load("page1.html")
});
$("#page2").click(function(){
$("#content").load("page2.html")
});
});
</script>
<!-- Inside body -->
<div id="content">
<!-- Dynamic content here -->
</div>
最近我注意到这并不像我预期的那样严格工作。是的,它使用同一个页面插入内容,但它也会刷新页面,当链接不在页面顶部时,这有点烦人。所以必须向下滚动才能看到加载的内容。
如何才能获得真正动态的内容?是否需要全新的构造?
【问题讨论】:
-
如果您的点击触发器是
a标签,return false或将event作为参数添加到点击处理程序和preventDefault() -
@click2install 与 JS 函数中的
return false一样,例如上面最里面的函数? -
$("#home").click(function(){ $("#content").load("home.html"); return false;}); -
或者,
$("#home").click(function(e){ $("#content").load("home.html"); e.preventDefault();}); -
整个解决方案似乎是在重新发明轮子。为什么不从一开始就静态加载所有内容并将其全部隐藏。然后,使用点击显示所需的部分?
标签: javascript dynamic-content