切换窗口时改变页面title标题

更改标题

前几天看到老高给我看的一个页面效果,百度查了查发现和饿了么官网的有点相似。
类似这样:
avatar


当我们切换页面之后,页面标题变成了如下这个样子。

avatar


这个效果做起来其实很简单,主要是利用了onblur和onfocus事件。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">    
    <title>这是一个标题</title>
</head>
<body>
<script type="text/javascript">    
    window.onblur=function(){        
        document.title="回来qwq";    
        };    
        window.onfocus=function () {        
        document.title="这是一个标题";   
        }
        </script>
</body>
</html>

onblur和onclick事件可能常见的会用于input框里面以用于获取焦点或者失去焦点时触发某些事件。但是其实window对象也是支持onblur等事件的,就像window支持onload事件一样。
avatar


所以只要设置window.onblur事件(即将焦点移除窗口或者说是切换窗口)和onfocus事件(停留在当前窗口)来动态改变网页的title就可以达到同样的效果啦。

avatar

avatar

参考:w3c网站;

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Vue 中切换页面,通常可以使用 Vue Router 来进行页面路由的控制。你可以在每个页面组件中设置不同的顶部导航栏,然后在路由配置中指定每个页面对应的组件。 例如,你可以在 App.vue 中设置一个统一的顶部导航栏组件,然后在每个页面组件中设置不同的导航栏内容。在路由配置中,指定每个页面对应的组件即可。 下面是一个简单的示例代码: ```html <!-- App.vue --> <template> <div> <TopNav /> <router-view /> </div> </template> <script> import TopNav from './components/TopNav.vue' export default { components: { TopNav } } </script> ``` ```html <!-- HomePage.vue --> <template> <div> <h1>Home Page</h1> </div> </template> <script> export default { data() { return { navTitle: 'Home' } }, mounted() { this.$emit('update-nav', this.navTitle) } } </script> ``` ```html <!-- AboutPage.vue --> <template> <div> <h1>About Page</h1> </div> </template> <script> export default { data() { return { navTitle: 'About' } }, mounted() { this.$emit('update-nav', this.navTitle) } } </script> ``` ```javascript // router.js import Vue from 'vue' import Router from 'vue-router' import HomePage from './views/HomePage.vue' import AboutPage from './views/AboutPage.vue' Vue.use(Router) const router = new Router({ routes: [ { path: '/', name: 'home', component: HomePage }, { path: '/about', name: 'about', component: AboutPage } ] }) router.afterEach((to, from) => { // 更新顶部导航栏标题 const navTitle = to.meta.navTitle || '' document.title = navTitle ? `${navTitle} - My App` : 'My App' }) export default router ``` 在上面的示例中,HomePage.vue 和 AboutPage.vue 组件都设置了一个 navTitle 变量,用于指定该页面对应的顶部导航栏标题。在 mounted 钩子中,通过调用 $emit 方法触发一个自定义事件,将当前页面的 navTitle 传递给父组件 App.vue。 在 App.vue 中,通过引入 TopNav.vue 组件,将其放置在页面顶部。同,通过监听子组件触发的 update-nav 事件,将子组件传递过来的 navTitle 更新到顶部导航栏中。 最后,在路由配置中,通过 meta 属性指定每个页面对应的导航栏标题,然后在 router.afterEach 钩子中更新页面标题。这样,在切换页面,顶部导航栏的标题也会随之改变

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值