我想做一个如图一样的Web客户端,点击左面的导航右面的页面实现无刷新跳转,
就是当右面的页面变化时 路由主地址不变,如index.html/#页面一,求大神指点,或者给学习文档
我想做一个如图一样的Web客户端,点击左面的导航右面的页面实现无刷新跳转,
就是当右面的页面变化时 路由主地址不变,如index.html/#页面一,求大神指点,或者给学习文档
不限制语言和框架?单纯只说无刷新切换内容的方式:
tab切换,单纯css
或者用js或者jq实现。
无刷新更新数据和内容,Ajax实现
路由跳转,vue
和angular
等框架都可以实现
但是题主给的样例是比较常见的tab切换
样例,还是建议用这个来实现
对应左边五个导航,右边可以写五个不同的内容。点击左边右边相对应的块显示,其他块隐藏。就是所谓的 tab 切换。
要想实现 url 变化,可以给左边导航的外围 a 标签的 href 属性写成 "#block1"、"#block2"等。
基本代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{
margin:0;
padding:0;
}
#nav{
float: left;
}
#nav>a{
display: block;
}
#content{
float: left;
}
#content>p{
width:500px;
height:500px;
border:1px solid #000;
display:none;
}
</style>
</head>
<body>
<div id="nav">
<a href="#block1">导航1</a>
<a href="#block2">导航2</a>
<a href="#block3">导航3</a>
<a href="#block4">导航4</a>
<a href="#block5">导航5</a>
</div>
<div id="content">
<p>111111111111</p>
<p>22222222222</p>
<p>33333333333</p>
<p>4444444444</p>
<p>55555555555</p>
</div>
<script>
var nav=document.getElementById('nav').getElementsByTagName('a');
var block=document.getElementById('content').getElementsByTagName('p');
for(var i=0;i<nav.length;i++){
nav[i].setAttribute("index",i);
nav[i].onclick=function(){
//右边所有块隐藏
for(var j=0;j<block.length;j++){
block[j].style.display="none";
}
var index=this.getAttribute("index");
//跟所点击导航相对应的块显示
block[index].style.display="block";
}
}
</script>
</body>
</html>
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
楼上的回答的都是 tab,不知道题主是不是要的这个
前端(index.html):
后台(server.php):