扫码关注官方订阅号
我想做一个如图一样的Web客户端,点击左面的导航右面的页面实现无刷新跳转,就是当右面的页面变化时 路由主地址不变,如index.html/#页面一,求大神指点,或者给学习文档
对应左边五个导航,右边可以写五个不同的内容。点击左边右边相对应的块显示,其他块隐藏。就是所谓的 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> <p 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> </p> <p id="content"> <p>111111111111</p> <p>22222222222</p> <p>33333333333</p> <p>4444444444</p> <p>55555555555</p> </p> <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>
不限制语言和框架?单纯只说无刷新切换内容的方式:
tab切换,单纯css或者用js或者jq实现。
css
无刷新更新数据和内容,Ajax实现
路由跳转,vue和angular等框架都可以实现但是题主给的样例是比较常见的tab切换样例,还是建议用这个来实现
vue
angular
tab切换
用路由,angular,vue等等
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
对应左边五个导航,右边可以写五个不同的内容。点击左边右边相对应的块显示,其他块隐藏。就是所谓的 tab 切换。
要想实现 url 变化,可以给左边导航的外围 a 标签的 href 属性写成 "#block1"、"#block2"等。
基本代码如下:
不限制语言和框架?单纯只说无刷新切换内容的方式:
tab切换,单纯
css或者用js或者jq实现。无刷新更新数据和内容,Ajax实现
路由跳转,
vue和angular等框架都可以实现但是题主给的样例是比较常见的
tab切换样例,还是建议用这个来实现用路由,angular,vue等等