当前位置: 首页 > news >正文

光明网站建设小小课堂seo自学网

光明网站建设,小小课堂seo自学网,建筑设计单位,智联招聘网站怎么做两份简历头部分类导航-吸顶功能 电商网站的首页内容会比较多,页面比较长,为了能让用户在滚动浏览内容的过程中都能够快速的切换到其它分类。需要分类导航一直可见,所以需要一个吸顶导航的效果。 目标:完成头部组件吸顶效果的实现 交互要求 滚动距离大…

头部分类导航-吸顶功能

电商网站的首页内容会比较多,页面比较长,为了能让用户在滚动浏览内容的过程中都能够快速的切换到其它分类。需要分类导航一直可见,所以需要一个吸顶导航的效果。

目标:完成头部组件吸顶效果的实现

交互要求

  1. 滚动距离大于等于78个px的时候,组件会在顶部固定定位
  2. 滚动距离小于78个px的时候,组件消失隐藏

实现思路

  1. 准备一个吸顶组件,准备一个类名,控制显示隐藏
  2. 监听页面滚动,判断滚动距离,距离大于78px添加类名

核心代码:

(1)新建吸顶导航组件src/Layout/components/app-header-sticky.vue

<script lang="ts" setup name="AppHeaderSticky">
import AppHeaderNav from './app-header-nav.vue'
</script><template><div class="app-header-sticky"><div class="container"><RouterLink class="logo" to="/" /><AppHeaderNav /><div class="right"><RouterLink to="/">品牌</RouterLink><RouterLink to="/">专题</RouterLink></div></div></div>
</template><style scoped lang="less">
.app-header-sticky {width: 100%;height: 80px;position: fixed;left: 0;top: 0;z-index: 999;background-color: #fff;border-bottom: 1px solid #e4e4e4;.container {display: flex;align-items: center;}.logo {width: 200px;height: 80px;background: url(@/assets/images/logo.png) no-repeat right 2px;background-size: 160px auto;}.right {width: 220px;display: flex;text-align: center;padding-left: 40px;border-left: 2px solid @xtxColor;a {width: 38px;margin-right: 40px;font-size: 16px;line-height: 1;&:hover {color: @xtxColor;}}}
}
</style>

(2)Layout首页引入吸顶导航组件

<script lang="ts" setup>
import AppTopnav from './components/app-topnav.vue'
import AppHeader from './components/app-header.vue'
import AppFooter from './components/app-footer.vue'
+import AppHeaderSticky from './components/app-header-sticky.vue'
</script>
<template><AppTopnav></AppTopnav><AppHeader></AppHeader>
+  <AppHeaderSticky></AppHeaderSticky><div class="app-body"><!-- 路由出口 --><RouterView></RouterView></div><AppFooter></AppFooter>
</template><style lang="less" scoped>
.app-body {min-height: 600px;
}
</style>

(3)提供样式,控制sticky的显示和隐藏

.app-header-sticky {width: 100%;height: 80px;position: fixed;left: 0;top: 0;z-index: 999;background-color: #fff;border-bottom: 1px solid #e4e4e4;
+  transform: translateY(-100%);
+  &.show {
+    transition: all 0.3s linear;
+    transform: translateY(0%);
+  }

(4)给window注册scroll事件,获取滚动距离

<script lang="ts" setup>
import { onBeforeUnmount, onMounted, ref } from 'vue'
import AppHeaderNav from './app-header-nav.vue'
const y = ref(0)
const onScroll = () => {y.value = document.documentElement.scrollTop
}
onMounted(() => {window.addEventListener('scroll', onScroll)
})
onBeforeUnmount(() => {window.removeEventListener('scroll', onScroll)
})
</script>

(5)控制sticky的显示和隐藏

 <div class="app-header-sticky" :class="{show:y >= 78}">

(6)修复bug,为了吸顶头部的内容不遮住不吸顶的头部。
在这里插入图片描述

<div class="container" v-show="y >= 78">

也可以使用185px,正好原有的header全部消失时候展示吸顶的header

头部分类导航-吸顶重构

vueuse/core : 组合式API常用复用逻辑的集合

目标: 使用 vueuse/core 重构吸顶功能

核心步骤

(1)安装@vueuse/core 包,它封装了常见的一些交互逻辑

yarn add @vueuse/core

(2)在吸顶导航中使用

src/components/app-header-sticky.vue

<script lang="ts" setup>
import AppHeaderNav from './app-header-nav.vue'
// import { onBeforeUnmount, onMounted, ref } from 'vue'
import { useWindowScroll } from '@vueuse/core'
// const y = ref(0)
// const onScroll = () => {
//   y.value = document.documentElement.scrollTop
// }
// onMounted(() => {
//   window.addEventListener('scroll', onScroll)
// })
// onBeforeUnmount(() => {
//   window.removeEventListener('scroll', onScroll)
// })
// 控制是否显示吸顶组件
const { y } = useWindowScroll()
</script>
http://www.dinnco.com/news/51465.html

相关文章:

  • 网站服务器和网站淘宝seo搜索引擎优化
  • 自己做网站卖矿山设备软文营销案例文章
  • 网站建设费用预算表、代发广告平台
  • 淮南市建设委员会网站seo外包品牌
  • 分销小程序开发研发公司优化培训课程
  • 家纺营销型网站域名买卖交易平台
  • 西部数码网站管理助手安装优化大师官网登录入口
  • 好看好用的wordpress主题杭州网站seo
  • 开发板有什么用廊坊seo关键词优化
  • 免费软件园seo智能优化
  • 如何优化网站排名国外推广网站有什么
  • 做ipo尽调需要用到的网站谷歌app官方下载
  • php网站开发外包seo中文含义是什么
  • app网站建设多少钱怎么交换友情链接
  • 凡科代理建站登录厦门seo怎么做
  • 网站建设合同.doc西安百度框架户
  • 常用的网页有哪些seo网站优化是什么
  • 网站备案 教程如何建立自己的网络销售
  • 做网站的标性外贸网络营销平台
  • 衣服销售网站建设规划书范文可以免费发外链的论坛
  • wordpress附件插件下载优化大师平台
  • 会做网站开发 但是不会二次开发网站域名查询网
  • 无锡网站建设咨询热线如何查看百度搜索指数
  • 磁县企业做网站推广公司的网站制作
  • 做淘客网站上海百度推广开户
  • 绍兴网站推广国内seo公司哪家最好
  • 114做网站福州百度快照优化
  • 成都微信微网站建设西安seo服务
  • led灯外贸网站建设网站优化排名服务
  • 网站搜索引擎怎样做百度移动seo首选帝搜软件