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

淘宝网站是谁做的好软件技术主修课程

淘宝网站是谁做的好,软件技术主修课程,专业做pc 手机网站,小手工制作简单又漂亮头部分类导航-吸顶功能 电商网站的首页内容会比较多,页面比较长,为了能让用户在滚动浏览内容的过程中都能够快速的切换到其它分类。需要分类导航一直可见,所以需要一个吸顶导航的效果。 目标:完成头部组件吸顶效果的实现 交互要求 滚动距离大…

头部分类导航-吸顶功能

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

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

交互要求

  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.yayakq.cn/news/938093/

相关文章:

  • 网站建设工具品牌有哪些专题学习网站开发流程
  • 网站做外国生意建e室内设计网全景效果图
  • 网站地图怎样做临淄房产信息网
  • 网站做很多关键词响应式网站建设效果
  • 企业手机网站建设渠道网站建设中的时尚资讯
  • 网站优化是怎么做的网站模版 下载工具
  • 初创公司网站设计苏州南宁手机平台网站建设
  • asp flash网站模板怎么优化自己公司的网站
  • 自己做视频直播网站做a免费视频在线观看网站
  • 免费行情软件网站大全美丽寮步网站建设高性能
  • 教学网站设计与开发贵阳网络推广排名
  • 深圳线运营是网站建设青岛的互联网公司有哪些
  • 自己做网站 微信网站字体使用
  • 安阳做网站推广最好的公司上海哪个区最好
  • 新七建设集团有限公司网站免费h5制作网站
  • 有做兼职的网站吗长春火车站人工电话
  • 铜陵app网站做招聘信息找人做软件去哪个网站找
  • 手机网站和电脑网站一样吗自做闪图网站
  • 贵阳手机网站建设公司wordpress邮件注册通知
  • 外贸开发网站开发东营招标信息网
  • 南昌外贸网站建设logo制作生成器
  • 如何做防水网站wordpress revslider
  • wordpress新浪微博图床插件那个网站seo做的好的
  • 建设网站及后期维护费用是多少加强信息管理 维护网站建设
  • 做鱫视频网站建站平台一键申请三方支付通道
  • 全站仪快速建站安徽网新网站建设
  • 邢台网站建设 冀icp备万网域名价格
  • 网站开发的关键技术湖南常德桃源县
  • 广州冼村地铁站几号线幸福宝推广app网站下载
  • seo对网站的重要性长春seo培训