就是想要类似segmentfaul的效果 点击哪个分区就显示出相应的内容 但是现在的问题是不知道href的链接怎么写 我想要内容在当前页面显示 herf不能写#吧 如果写href="1.html"
就会出现先显示数据再跳转的情况 这样页面就是空的 不能显示出来数据 这种情况该怎么办呢? 麻烦大家看仔细一点 我不是想阻止跳转啊 我想知道segmentfault这种效果 是怎么实现的 如果用的ajax完全没必要去跳转刷新页面 但是segmentfault是有跳转刷新的 这个是怎么弄的呢?
代码只是大概描述一下
1.html
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
document.getElementById('java').onclick=function(){
p.innerHTML=str;
}
</script>
</head>
<body>
<a href="#" id="java">java</a>
<a href="#" id="php">php</a>
<p></p>
</body>
</html>
就写单独的url吧,它也不是ajax刷新,就是get。有很多小版块其实也问题不大,后端也很轻松。因为数据格式基本差不多,匹配路由时写个正则去匹配请求的url就行了,然后处理数据在一个controller里,在根据不同的url返回不同的数据即可。而且前端模板也不需要变化很大,复用性也很强。
在事件处理函数中可以通过调用
preventDefault
或者return false
来阻止浏览器的默认行为(这里的默认行为就是跳转)。另外他是服务器渲染,并不是ajax。最后,建议买本书系统的学习,这些问题真的太基础了,即使是没有系统的学习过,搜索或者查API的效率也比提问高得多
不管
<a>
的href
是啥,你都可以在事件中阻止默认行为下面是 jQuery 代码,原生代码也差不多,调用 event 的 preventDefault(),或者返回
false
。不过也可以直接设置
href
让它啥也不干点击到某个页面的时候,这个页面对应的js代码发送一个HTTP GET请求到后台,然后后台返回相应的(比如java/php等)数据足以。