我希望大家敲一遍
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style> .pages>div{display: none;} </style> </head> <body> <p> <a href="#/" rel="external nofollow" >aaa</a> <a href="#/about" rel="external nofollow" >bbb</a> <a href="#/user" rel="external nofollow" >cccc</a> </p> <div class="pages"> <div id="home">首页</div> <div id="about">关于我的页面</div> <div class="user">用户中心</div> </div> </body> <script type="text/javascript"> //hash 和页面一一对应起来 //router 配置 var router = [ {path:"/",component:document.getElementById("home")}, {path:"/about",component:document.getElementById("about")}, {path:"/user",component:document.querySelector(".user")}, ] // 默认hash window.location.hash = "#/"; // 默认页面 var currentView = router[0].component; currentView.style.display="block"; window.onhashchange=()=>{ //通过判断hash切换div页面 console.log(location.hash); //获取hash值,不要井号 var hash = location.hash.slice(1); router.forEach(item=>{ if(item.path==hash){ //先隐藏之前显示的页面 currentView.style.display = "none"; // 显示对应的组件 item.component.style.display = "block"; //重新设置当前显示的页面是哪个div currentView = item.component; } }) } </script> </html>
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)