小程序中自定义一个标签切换效果

如图,实现如下的效果。点击三个 tab button,分别切换到不同页面

商品详情
产品参数
售后保障

思路

可以利用点击不同按钮,然后显示与隐藏界面来实现-

代码

首先是三个按钮

<view class="tabs-box">
    <block wx:for="{{['商品详情','产品参数','售后保障']}}" wx:key="item">
        <view class="tabs-item {{currentTabsIndex == index ? 'selected' : ''}}" bindtap="onTabsItemTap" data-index="{{index}}">
            {{item}}
        </view>
    </block>
</view>

根据当前选中的 tab button,切换到不同的 css 样式

class="tabs-item {{currentTabsIndex == index ? 'selected' : ''}}"
.tabs-item {
    width: 33.3%;
    color: #C7C7CB;
    font-size: 28rpx;
    display: flex;
    align-items: center;
    justify-content: center;
    display: flex;
    border-bottom: 1rpx solid #D0D0D7;
}

.tabs-item.selected {
    /*color: #AB956D;*/
    color: rgba(171,149,109,.8);
    /*border-bottom: 2px solid #AB956D;*/
    border-bottom: 2px solid rgba(171,149,109,.8);
}

这是添加点击事件监听器

bindtap="onTabsItemTap"

这是给每一个 tab button 绑定一个数据,点击 tab button 的时候,就改变 currentTabsIndex 的值

onTabsItemTap: function (event) {
    var index =  event.currentTarget.dataset.index;
    this.setData({
        currentTabsIndex: index
    });
}

显示与隐藏界面,可以使用 hidden 属性来实现

<view class="product-detail-box">
    <view class="product-detail-imgs" hidden="{{currentTabsIndex != 0}}">
        商品详情
    </view>

    <view class="product-detail-properties" hidden="{{currentTabsIndex != 1}}">
        产品参数
    </view>

    <view class="product-detail-protect" hidden="{{currentTabsIndex != 2}}">
        售后保障
    </view>
</view>

总结

  • 两套 css 样式
  • 条件判断
  • hidden 属性
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,712评论 1 92
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,801评论 4 61
  • 云淡淡, 水潺潺。 独立西风只影寒。 无奈琴音空寄恨, 菊香盈袖自相怜。
    淡香幽然mm阅读 2,839评论 0 1
  • 响应老大号召践行作品声音之元规范,汇总自己2017年的作业和输出作品于此。 目录: 三、2017年日常读书笔记 四...
    光牧阅读 3,923评论 1 8
  • 【剽悍之星】 分享人:8125-猫珍 亲爱的老铁们,从读书营开营至今已经有差不多两个朋的时间了(当然有些老铁可能比...
    遇柒ML阅读 3,375评论 0 2

友情链接更多精彩内容