CSS:

<div id="details" ref="details" class="details" :class="tabList ? 'tabTop' : ''">
<a :class="{'active':leftTab}" @click="changeTab(1, '#goodsDetails')">商品详情</a>
<a :class="{'active':rightTab}" target="_self" @click="changeTab(0, '#buyNotes')">购买须知</a>
</div>
<div id="goodsDetails" v-html="bodyData.goods.decoration"></div>
<div id="buyNotes" class="buyNotes">
<p class="notes">购买须知</p>
<ul>
<li v-if="bodyData.goods.prompt">
<p>· {{bodyData.goods.prompt}}</p>
</li>
</ul>
</div>

data () {

return {
tabListTop: '', // 选项卡距顶部距离
tabList: false, // 整个tab
leftTab: true, // 详情页tab
rightTab: false, // 购买须知tab
}
}
methods: {
// 监听页面滚动事件
paperScroll () {
// 控制商品详情和购买须知选项卡的位置(固定在顶部还是正常)
if (scroll.scrollTop >= this.tabListTop) {
this.tabList = true
} else {
this.tabList = false
}
// 控制详情和购买须知样式切换
console.log('滑动距离:' + scroll.scrollTop)
console.log('屏幕高度:' + window.innerHeight)
console.log('main滚动高度:' + scroll.scrollHeight)
if (scroll.scrollTop + window.innerHeight < scroll.scrollHeight) {
this.leftTab = true
this.rightTab = false
} else {
this.leftTab = false
this.rightTab = true
}
}
/*
* 详情和购买须知切换
* */
changeTab (i, idName) {
// Element.scrollIntoView() 方法让当前的元素滚动到浏览器窗口的可视区域内
// behavior这个选项决定页面是如何滚动的,实测auto与instant都是瞬间跳到相应的位置,而smooth就是有动画的过程
document.querySelector(idName).scrollIntoView({behavior: 'smooth'})
if (i) {
this.leftTab = true
this.rightTab = false
} else {
this.leftTab = false
this.rightTab = true
}
}
}

style:

  因为页面是滚动的,头部固定不动,内容可以滚动,所以这里记得给头部固定的位置position:

relative
.tabTop {
position: absolute;
top: @mainHeight;
left: 0;
width: 100%;
background-color: #ffffff;
}

  

App 仿淘宝:控制详情和购买须知样式切换,控制商品详情和购买须知选项卡的位置(固定在顶部还是正常)的更多相关文章

  1. 使用jQuery和css3实现了仿淘宝ued博客左边的菜单切换动画

    今天看到淘宝ued博客的左侧导航菜单的动画好,要使用jQuery和css3我做一个简单的示例,主要用途是实现jQuery 事件和css3 transition属性. 个元素来实现鼠标滑动到某个导航的背 ...

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

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

  3. JS仿淘宝详情页菜单条智能定位效果

    类似于淘宝详情页菜单条智能定位 对于每个人来说并不陌生!如下截图所示:红色框的那部分! 基本原理: 是用JS侦听滚动事件,当页面的滚动距离(页面滚动的高度)大于或者等于 "对象"( ...

  4. Android仿淘宝继续上拉进入商品详情页的效果,使用双Fragment动画切换;

    仿淘宝继续上拉进入商品详情页的效果,双Fragment实现: 动画效果: slide_above_in.xml <?xml version="1.0" encoding=&q ...

  5. 转::iOS 仿淘宝,上拉进入详情页面

    今天做的主要是一个模仿淘宝,上拉进入商品详情的功能,主要是通过 tableView 与 webView 一起来实现的,当然也可根据自己的需要把 webView 替换成你想要的 // // ViewCo ...

  6. Vue实现仿淘宝商品详情属性选择的功能

    Vue实现仿淘宝商品详情属性选择的功能 先看下效果图:(同个属性内部单选,属性与属性之间可以多选) 主要实现过程: 所使用到的数据类型是(一个大数组里面嵌套了另一个数组)具体格式如下:   attrA ...

  7. 原生js仿淘宝手机购买选项代码

    这是一款基于原生js实现仿淘宝手机信息购买选项效果源码,界面整体效果仿照淘宝购物选项设计,点击不同选项还可实时显示不同的价格计算结果,界面简洁大方.美观实用.可兼容目前最新的各类主流浏览器. 在线演示 ...

  8. 基于Bootstrap仿淘宝分页控件实现

    .header { cursor: pointer } p { margin: 3px 6px } th { background: lightblue; width: 20% } table { t ...

  9. Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片

    Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片 自定义ADPager 自定义水平滚动的ScrollView效仿ViewPager 当遇到要在Vie ...

随机推荐

  1. 【深入浅出-JVM】(2):原码、反码、补码

    计算机中有补码表示 0 0 为正数 原码 00000000 00000000 00000000 00000000 反码 00000000 00000000 00000000 00000000 正数反码 ...

  2. sqlalchemy定义mysql时间戳字段

    update_time = Column(TIMESTAMP, nullable=False, comment='更新时间戳', server_default=text('CURRENT_TIMEST ...

  3. 【hash】珍珠

    [来源] https://loj.ac/problem/2427 [参考博客] LOJ#2427. 「POI2010」珍珠项链 Beads [题解]: 复杂度计算: 暴力枚举k每次计算是n/2+n/3 ...

  4. PB赋值粘贴

    复制:string ls_templs_temp = trim(sle_1.text)Clipboard(ls_temp) 粘贴:string ls_templs_temp = Clipboard() ...

  5. THUWC2020滚粗记

    \(Day-?\) 教练叫走了3个人,没叫我 感觉药丸,然后被告知pku没过,thu过了 神奇,然后就活了 后来在机房颓废,大声说笑被diss 当时感觉颓的有点过头,药丸 \(Day0\) 跟NC去T ...

  6. C#求1-100的质数,100-1000的水仙花数,1-100所有的平方和平方平方根

    //你们的鼓励是我最大的动力 大家可以多留言评论  在接下来很长一段时间我会从初级到高级每天更新 大家有想学习的内容也可以留言哦 //现在是我做C#老师的第28天,希望和大家一起努力 加油 using ...

  7. div布局(持续更新)

    1. 效果: 代码: <!DOCTYPE html> <html> <head> <meta name="viewport" conten ...

  8. JavaScript笔记(4)

    3.JavaScript事件 定义 1.事件是JavaScript事先定义好的 2.JavaScript中事件大多都是以"on--"开头的 3.事件由三要素组成:事件源.事件名.事 ...

  9. href="javascript:show_login()"意思

    整句话意味着当你点击一个超链接时,你会触发函数show_login. Href是一个超链接,通过单击该超链接触发. javascript:后面是JS代码 show_login():表示JS的函数的油烟 ...

  10. 1 C# 将对象序列化

    public static string ObjectToXml(object obj) { using (MemoryStream memoryStream = new MemoryStream() ...