单页面学习

单页面应用 SPA(single page application)

  • 概念

一个页面()+多个js代码片段

  • 原理

在不刷新整个页面的情况下,进行页面跳转

  • 前端领域

a的锚点跳转就可以帮我们实现这个技术
  1. 页面跳转时,a标签#后面的内容在变化

  1. 拿到#后面的值

location.href 需要截取

location.hash直接拿到#以及后面的值

  1. 监听点击不同锚点

window.οnhashchange=function(){} #后面的值改变就触发

  • 案例

选项卡(hash模式版)
        div {
            width: 200px;
            height: 80px;
            background-color: palegreen;
        }
    <a href="#one"> one</a>
    <a href="#two"> two</a>
    <a href="#three"> three</a>
    <div id="router-view"></div>
    var oDiv = document.querySelector("div")
    // hash变化才会执行
    window.onhashchange = function () {
        doRoute()
    }
    // 打开页面执行
    doRoute()
    function doRoute() {
        switch (location.hash.slice(1)) {
            case "one":
                oDiv.innerHTML = 'one的内容'
                break;
            case "two":
                oDiv.innerHTML = 'two的内容'
                break;
            case "three":
                oDiv.innerHTML = 'three的内容'
                break;
            default:
                oDiv.innerHTML = 'one的内容'
                break;
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值