项目开发实录 将其简化为一个demo方便后续使用
简化淘宝顶部的淡入淡出并将其修改为两个不同盒子之间的切换,毕竟实际项目实际操作嘛。
下面的代码块为简略版的demo,直接复制粘贴即可实现效果(移动端喔)
后续会有另外一种解决办法

<!DOCTYPE html>
<html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /><title>滚动展示</title><style type="text/css">*{margin: 0;padding: 0;list-style: none;}header {width: 100%;height: 50px;display: flex;background-color: skyblue;position: fixed;top: 0;z-index: 2;}header li {flex: 1;line-height: 50px;text-align: center;}section {width: 100%;height: 100%;}.one {width: 100%;background-color: #90EE90;overflow-y: hidden;position: relative;}.one ul li {height: 50px;}.one button {position: absolute;bottom: 0;}.two {width: 100%;height: 750px;background-color: #F08080;}.goods-active{color: red;}.message-active{color: red;}.header-active{display: none;}.content-one{width: 100%;height: 50px;display: flex;background-color: skyblue;position: fixed;top: 0;z-index: 2;}.content-one li{flex: 1;text-align: center;line-height: 50px;}.content-one-active{display: none;}</style></head><body><header><li>返回</li><li class="goods">商品</li><li class="message">详情</li><li>评价</li><li>分享</li></header><div class="content-one"><li>返回</li><li>我要分享</li></div><section><div class="one"><div style="height: 50px;background-color: #999999;"></div><ul><li>10</li><li>10</li><li>10</li><li>10</li><li>10</li><li>10</li><li>10</li><li>10</li><li>10</li><li>10</li><li>10</li></ul></div><div class="two"><div style="height: 50px;background-color: #999999;"></div></div></section></body>
</html>
<script type="text/javascript">var goods = document.getElementsByClassName("goods")[0]var message = document.getElementsByClassName("message")[0]var one = document.getElementsByClassName("one")[0]var header = document.getElementsByTagName("header")[0]var contentone = document.getElementsByClassName("content-one")[0]window.onload = function () {goods.classList.add('goods-active')header.classList.add('header-active')}window.onscroll = function() {//变量scrollTop是滚动条滚动时,距离顶部的距离var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;//判断当滚动条距离顶部的距离大于顶部fixed固定的header之后,样式改变if(scrollTop > header.offsetHeight){// header.style.show = trueheader.classList.remove('header-active')}else {contentone.classList.remove('content-one-active')}//具体商品和详情的切换实现如下if (scrollTop > one.offsetHeight) {message.classList.add('message-active')goods.classList.remove('goods-active')} else {goods.classList.add('goods-active')message.classList.remove('message-active')}}</script>

个人在项目实现过程中发现onscroll事件在移动端无法触发,又急着解决当前的问题,保留了onscroll的操作并查找新方法的途中,了解到了touch事件。touch方法详解如下:

touchstart:触摸开始,多点触控,也就意味着当手指放在屏幕上的时候,就已经触发了这个事件
touchmove:接触点改变,滑动时,直白讲就是手指动的过程,并未松开手指
touchend:触摸结束,手指离开屏幕时,想必这个就不用赘述了叭

以下方案仅供参考,根据个人的实际情况来进行操作,我这里的情况是在三个touch事件下判断滚动条距离顶部的距离都为0的时候,选择了判断顶部fixed固定好的header下的第一个盒子(个人命名为saveScroll)到顶部的距离,原理十分简单,当手指滑动屏幕时必然触发touchstart事件,从而会改变saveScroll盒子到顶部的距离,判断该距离小于顶部fixed的header的时候,将本来隐藏的盒子展示出来,等于或者大于该距离的时候,隐藏掉即可(手指划手机必然会涉及到一直下拉,也就是为什么会大于该距离的原因),以下是实际操作时的代码

//移动端上下划动屏幕改变顶部nav展示状态$(".saveScroll")[0].addEventListener('touchmove',function(e){//emmm,仍在研究这个preventDefault的作用e.preventDefault()//赋值确定原先距离顶部的高度var scrollTop = $(".saveScroll").offset().top//根据不同的rem比例确定顶部固定的header的高度var header_height = $(".header_height").height()//进行判断并改变显示隐藏状态if(scrollTop < header_height){$(".hide_container").hide()$(".show_container").show()}else{$(".hide_container").show()$(".show_container").hide()}})

欢迎指导~
一起学习进步呀~

仿淘宝商品详情页顶部nav屏幕滑动出现-商品/详情/评价/分享相关推荐

  1. Android 仿淘宝属性标签页

    直接看效果图相信这样的效果很多,我之前在网上找了很久没找到自己想要的! <?xml version="1.0" encoding="utf-8"?> ...

  2. Android 仿淘宝商品详情页下拉足迹Demo

    DropDownMultiPager 仿淘宝等商品详情页下拉足迹效果SimpleDemo 可colne之后看MainActivity的调用,方便二次开发 依赖 compile 'com.nineold ...

  3. uniapp仿淘宝详情页页面滑动tab切换

    uniapp仿淘宝详情页页面滑动tab切换 建立util文件夹放一个Tool.js: export default{getRect(selector){return new Promise((reso ...

  4. Ecshop 商品页配送方式添加 实现仿淘宝按地区显示运费

    Ecshop实现仿淘宝按地区显示运费 淘宝网(Taobao)购物的宝贝详情页面,可以针对不同地区显示不同运费,运费由后台设定:结算时间,按重量.件数计算运费.Ecshop本身有配送方式插件,已有多家物 ...

  5. 自定义View之仿淘宝详情页

    自定义View之仿淘宝详情页 转载请标明出处: http://blog.csdn.net/lisdye2/article/details/52353071 本文出自:[Alex_MaHao的博客] 项 ...

  6. 高仿淘宝和聚美优品商城详情页实现《IT蓝豹》

    高仿淘宝和聚美优品商城详情页实现 android-vertical-slide-view高仿淘宝和聚美优品商城详情页实现,在商品详情页,向上拖动时,可以加载下一页. 使用ViewDragHelper, ...

  7. 仿淘宝详情页 直接上代码

    仿淘宝详情页 直接上代码 package com.example.liketitledemo;import android.content.Context; import android.graphi ...

  8. Java爬虫爬取 天猫 淘宝 京东 搜索页和 商品详情

    Java爬虫爬取 天猫 淘宝 京东 搜索页和 商品详情 先识别商品url,区分平台提取商品编号,再根据平台带着商品编号爬取数据. 1.导包 <!-- 爬虫相关Jar包依赖 --><d ...

  9. 仿淘宝商品详情-点击显示大图,可滑动

    现在在做一个商城类的项目: 大家都用过淘宝,需求就是要求仿淘宝的效果做一个, 直接上图 用到了一个项目PhotoView 大家运行一下看最后一个项目,把单一的图片显示改成VIewpager就好.

最新文章

  1. 一文看懂芯片测试产业
  2. 金山手机安全卫士试用报告
  3. es修改排序_java 如何实现ElasticSearch自定义排序
  4. 华为鸿蒙harmonyos-面向全场,华为正式官宣鸿蒙手机版相约6月2日,EMUI官博更名为HarmonyOS...
  5. Mybatis resultMap空值映射问题解决
  6. 微软发布企业安全进度报告 云应用安全服务即将面世
  7. mysql 日志mixed模式_[MySQL binlog]彻底解析Mixed日志格式的binlog
  8. 机器视觉检测技术之颜色视觉工具应用
  9. 智力题(猜凶手,确定比赛名次)
  10. Android开发方向,我们如何选择?
  11. 程序员应该具备哪些素养
  12. 简单分账系统的分账流程是什么样的?
  13. 二进制文件文本文件和二进制数据
  14. mysql出现表warning_查看mysql的warnings
  15. python神经网络编程pdf百度云下载-Python神经网络编程高清版.pdf
  16. android Twitter第三方登陆
  17. 忘记了MySQL的用户名和密码如何修改
  18. 基于SLAM的机器人导航避障方案
  19. php只能做网站吗,php只是做网站吗?
  20. C#使用德卡T10读取社报告卡基本信息

热门文章

  1. latex学习笔记-参考文献上标与非上标混合使用
  2. 纸鸢|工业路由器的定位功能有什么作用
  3. 好评如潮!《典籍里的中国》为什么火?
  4. 个人账号密码管理体系(账号篇)
  5. vim在同一个窗口中同时编辑多个文件以及自动格式化代码
  6. 手机主板如何查找串口点和短接点
  7. 我读 《异类》 - 马尔科姆 · 格拉德维尔 / 不一样的成功启示录 - 第二部分,文化传承
  8. OpenShift Origin 基本命令
  9. 构造GeoDataFrame
  10. 【TA-霜狼_may-《百人计划》】2.1 色彩空间