微信小程序首页、界面布局、自定义顶部(示例一)

这篇具有很好参考价值的文章主要介绍了微信小程序首页、界面布局、自定义顶部(示例一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信小程序首页、界面布局、自定义顶部搜索框(示例一)

具体界面见下图:
微信小程序首页界面,微信小程序,微信小程序,前端,javascript
如需界面中引用的图片文件和更多功能,请滑动至底部查看下载链接,可下载完整版,下载后直接使用微信开发者工具打开即可,完整版功能更详细呦。当前界面的布局样式代码如下(如存在不足之处,请根据具体需求,自行修改):
1、js代码:

Page({
    /**
     * 页面的初始数据
     */
    data: {
        viewHeight: 640, // 默认高度
        navIndex: 0,
        tabList: [{
        		id: '1',
                src: '../../images/select.png',
                title: '菜单一'
            },
            {
            	id: '2',
                src: '../../images/sort.png',
                title: '菜单二'
            },
            {
            	id: '3',
                src: '../../images/select.png',
                title: '菜单三'
            },
            {
            	id: '4',
                src: '../../images/sort.png',
                title: '菜单四'
            }
        ],
        navList: [
            [
                [{
                        id: '1',
                        path: 'pages/path1/index', // 具体需要跳转至该界面的路径
                        img: '../../images/msg.png',
                        title: '功能一'
                    },
                    {
                        id: '2',
                        path: 'pages/path2/index',
                        img: '../../images/set.png',
                        title: '功能二'
                    },
                    {
                        id: '3',
                        path: 'pages/path3/index',
                        img: '../../images/msg.png',
                        title: '功能三'
                    },
                    {
                        id: '4',
                        path: 'pages/path4/index',
                        img: '../../images/set.png',
                        title: '功能四'
                    }
                ],
                [{
                        id: '5',
                        path: 'pages/path5/index',
                        img: '../../images/msg.png',
                        title: '功能五'
                    },
                    {
                        id: '6',
                        path: 'pages/path6/index',
                        img: '../../images/set.png',
                        title: '功能六'
                    },
                    {
                        id: '7',
                        path: 'pages/path7/index',
                        img: '../../images/msg.png',
                        title: '功能七'
                    },
                    {
                        id: '8',
                        path: 'pages/path8/index',
                        img: '../../images/set.png',
                        title: '功能八'
                    },
                ]
            ],
            [
                [{
                        id: '9',
                        path: 'pages/path9/index',
                        img: '../../images/set.png',
                        title: '功能A'
                    },
                    {
                        id: '10',
                        path: 'pages/path10/index',
                        img: '../../images/msg.png',
                        title: '功能B'
                    },
                    {
                        id: '11',
                        path: 'pages/path11/index',
                        img: '../../images/set.png',
                        title: '功能C'
                    },
                    {
                        id: '12',
                        path: 'pages/path12/index',
                        img: '../../images/msg.png',
                        title: '功能D'
                    }
                ],
            ]
        ],
        articleList: [{
                content: '本创作分享给需要的用户使用,如存在不足之处,欢迎留言指正。',
                src: '../../images/money.jpeg',
                url: 'http://t.csdn.cn/316d5'
            },
            {
                content: '点赞,收藏加关注,后续将编写更多示例,同大家分享。',
                src: '../../images/money.jpeg',
                url: 'http://t.csdn.cn/316d5'
            },
            {
                content: '点赞,收藏加关注,后续出更完成版示例,同大家分享。',
                src: '../../images/money.jpeg',
                url: 'http://t.csdn.cn/316d5'
            },
        ]
    },
    // 滑动监听
    moduleSelect(e){
        this.setData({
            navIndex:e.detail.current
        })
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {
        var that = this;
        wx.getSystemInfo({
            success(res) {
                that.setData({
                    viewHeight:res.windowHeight
                })
            }
        })
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})

2、wxml代码

<view class="bg-box">
    <!-- 搜索 -->
    <view class="level search-box">
        <image class="col-1" style="width: 10%;" src="../../images/scan-code.png" mode="widthFix"></image>
        <view class="level col-2">
            <icon class="icon-small" type="search" size="20"></icon>
            <input placeholder="输入关键字" class="input-text" />
        </view>
        <image class="col-1" src="../../images/service.png" mode="widthFix"></image>
        <image class="col-1" src="../../images/message.png" mode="widthFix"></image>
    </view>
    <!-- 二级菜单 -->
    <view class="level tab-box">
        <block wx:for="{{tabList}}" wx:for-index="index" wx:for-item="item" wx:key="item">
            <view class="tab-list">
                <image class="tab-img" src="{{item.src}}" mode="widthFix"></image>
                <view class="tab-text">{{item.title}}</view>
            </view>
        </block>
    </view>
    <!-- 功能菜单 -->
    <view class="swiper-box">
        <swiper hcircular='true' bindchange='moduleSelect' style="height: {{viewHeight*0.29}}px;" current="{{navIndex}}">
            <block wx:for="{{navList}}" wx:key='navRow' wx:for-item="navRow">
                <swiper-item>
                    <block wx:for="{{navRow}}" wx:key='navItem' wx:for-item="navItem">
                        <view class="nav-list">
                            <block wx:for="{{navItem}}" wx:key='item'>
                                <view data-item="{{item}}" class="nav">
                                    <image src="{{item.img}}" mode="widthFix"></image>
                                    <text class="nav-text">{{item.title}}</text>
                                </view>
                            </block>
                        </view>
                    </block>
                </swiper-item>
            </block>
        </swiper>
        <view class="lab">
            <block wx:for="{{navList}}" wx:key="*this">
                <label class="{{navIndex==index?'active-yes':'active-no'}}"></label>
            </block>
        </view>
    </view>
</view>
<view class="tip-box level">
    <view class="tip-title">示例</view>
    <view class="tip-info">记得点赞、收藏加关注哦,以免找不到了哦,谢谢</view>
</view>
<view class="model-box">
    <view class="model-text">更多demo,请关注我,持续更新中!</view>
</view>
<!-- 科普文章 -->
<view class="article-box">
    <view class="level">
        <view class="line"></view>
        <view class="title">科普文章</view>
    </view>
    <block wx:for="{{articleList}}" wx:for-index="index" wx:for-item="item" wx:key="item">
        <view class="article-list">
            <view class="row-left">{{item.content}}</view>
            <view class="row-right">
                <image src="{{item.src}}" class="row-img" mode="widthFix"></image>
            </view>
        </view>
    </block>
</view>

3、wxss代码

page {
    background-color: #f1f1f1;
}

.bg-box {
    background-image: linear-gradient(to bottom, #fd9f50, #f6c79d, #f1f1f1);
}

/* 搜索 */
.search-box {
    padding: 20rpx 0;
}

.col-1 {
    width: 8%;
    text-align: center;
    padding: 0 20rpx;
}

.col-2 {
    width: 70%;
    padding: 15rpx 10rpx;
    border-radius: 10rpx;
    background-color: white;
}

.input-text {
    font-size: 30rpx;
    padding-left: 10rpx;
}

/* 二级菜单 */
.tab-box {
    margin: 5% 0;
}

.tab-list {
    flex: 1;
    text-align: center;
    color: white;
}

.tab-img {
    width: 50%;
}

.tab-text {
    font-size: 30rpx;
    margin: 5rpx 0;
}

/* 功能菜单 */
.swiper-box {
    background-color: white;
    margin: 0 20rpx;
    border-radius: 5rpx;
    padding-top: 20rpx;
}

.nav-list {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.nav {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    padding-top: 25rpx;
}

.nav image {
    width: 45%;
}

.nav-text {
    padding-top: 10rpx;
    font-size: 26rpx;
    color: gray;
}

.lab {
    display: flex;
    justify-content: center;
    padding-bottom: 20rpx;
}

.lab label {
    margin: 0 6rpx;
    height: 12rpx;
}

.active-yes {
    background-color: #fd9f50;
    width: 25rpx;
    border-radius: 45rpx;
}

.active-no {
    width: 12rpx;
    border-radius: 50rpx;
    background-color: gray;
}

.tip-box {
    background-color: white;
    margin: 20rpx;
    border-radius: 5rpx;
    font-size: 30rpx;
    padding: 20rpx;
}

.tip-title {
    padding: 0 15rpx;
    width: 12%;
    border-right: 1rpx solid #f1f1f1;
}

.tip-info {
    padding: 0 15rpx;
    color: gray;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.model-box {
    margin: 20rpx;
    border-top-left-radius: 50rpx;
    border-bottom-right-radius: 50rpx;
    background-color: #fcdabd;
    padding: 30rpx;
}

.model-text {
    font-size: 30rpx;
    color: rgb(53, 53, 53);
}

/* 科普文章 */
.article-box {
    margin: 20rpx;
}

.line {
    width: 10rpx;
    height: 34rpx;
    border-radius: 50rpx;
    background-color: orange;
}

.title {
    margin-left: 15rpx;
    font-size: 30rpx;
    font-weight: bold;
}

.article-list {
    margin: 20rpx 0;
    padding: 20rpx;
    background-color: white;
    font-size: 30rpx;
    border-radius: 5rpx;
    display: flex;
}

.row-left {
    width: 60%;
    line-height: 45rpx;
    color: rgb(54, 54, 54);
}

.row-right {
    width: 40%;
    text-align: center;
}

.row-img {
    width: 70%;
}

4、json代码

{
    "usingComponents": {},
    "navigationBarTitleText": "首页",
    "navigationBarBackgroundColor": "#fd9f50"
}

示例一完整版下载地址(包含引用的图片文件、按钮监听和自定义顶部状态栏功能):
完整版示例一文章来源地址https://www.toymoban.com/news/detail-527574.html

到了这里,关于微信小程序首页、界面布局、自定义顶部(示例一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序顶部搜索栏随界面滑动变换

    初始状态: 目标状态:   效果:在界面向下滑动的时候,根据滑动的距离,缩短搜索框,并向上滑动 第一步:使用小程序的生命周期onPageScroll接听界面滚动,并获取下滑距离                 因为在本案例中,我胶囊顶部与默认状态下的搜索框顶部距离为74rpx,所以,我只

    2024年02月15日
    浏览(50)
  • 微信小程序 —— 会议OA项目首页布局与Mock数据交互

    14天阅读挑战赛 如果世界上有奇迹,那一定是努力的另一个名字。 目录 一、小程序布局 1.1 Flex布局 1.2 Flex属性   二、OA会议首页搭建 2.1 首页底部菜单 2.2 创建后端结口 2.3 Mock模拟数据 2.4 首页轮播图搭建 2.5 首页内容搭建  布局的传统解决方案,基于盒状模型,依赖 dis

    2024年02月08日
    浏览(45)
  • 微信小程序自定义顶部导航,滚动页面顶部导航颜色渐变

    微信小程序自定义顶部导航栏,使背景图置顶;当向上滚动页面时,实现顶部导航颜色渐变 实现方法 代码如下(示例): 提示:由于不同的手机机型顶部导航高度不一样,所有要获取手机的信息 总共三步: 1、初始化获取顶部导航信息 2、顶部导航文字上方通过view占位,同

    2024年02月11日
    浏览(55)
  • 微信小程序进阶——Flex弹性布局&轮播图&会议OA项目(首页)

    目录 一、Flex弹性布局 1.1 什么是Flex弹性布局 1.1.1 详解 1.1.2 图解  1.1.3 代码演示效果 1.2 Flex弹性布局的核心概念 1.3 Flex 弹性布局的常见属性 1.4 Flex弹性布局部分属性详解 1.4.1 flex-direction属性 1.4.2 flex-wrap属性 1.4.3 flex-flow属性 1.4.4 justify-content属性 1.4.5 align-items属性 1.4.6 

    2024年02月05日
    浏览(43)
  • 微信小程序之会议OA系统首页布局搭建与Mock数据交互

    目录 前言 一、Flex 布局( 分类 编程技术) 1、Flex布局是什么? 2、基本概念 3、容器的属性 3.1 flex-direction属性 3.2 flex-wrap属性 3.3 flex-flow 3.4 justify-content属性 3.5 align-items属性 3.6 align-content属性 4、项目的属性 4.1 order属性 4.2 flex-grow属性 4.3 flex-shrink属性 4.4 flex-basis属性 4.5 fl

    2024年02月08日
    浏览(49)
  • 微信小程序自定义顶部导航,附加返回主页按钮

      目录 一、修改对应json文件 二、获取微信小程序原生顶部导航栏的高  三、获取胶囊的宽高 四、设置wxml页面样式  话不多说,先上效果!!!       首先,我们都知道,通过原生小程序是不具备左侧胶囊的效果的,所以在实现这个功能的时候一定要记得修改当前页的jso

    2024年02月04日
    浏览(51)
  • 微信小程序自定义顶部状态栏滑动显示标题居中

    开启了自定义顶部的配置,轮播图覆盖了顶部,所以需要做一个上滑到胶囊后重新把标题重新展示出来的操作,自定义标题出现不居中情况,以下为解决后的方案,复制粘贴即可: . wxml: . . wxss: . . 滑动事件:滑动到胶囊后把标题展示出来 . . 计算胶囊按钮高度、状态栏高

    2024年02月17日
    浏览(50)
  • 原声微信小程序自定义顶部导航栏 . 自定义navigationBar。 (单页面设置)

    本文实例为大家分享了微信小程序自定义导航栏的具体代码,供大家参考,具体内容如下 实现自定义大致需要以下?步骤: 1.在页面.JSON文件进行相关配置,以便去掉原生 备注:  navigationStyle(导航栏样式),参数: default = 默认样式,custom = 自定义样式。  2.在页面.js文件onLoad生命

    2024年02月09日
    浏览(59)
  • 微信小程序云开发之自定义顶部导航栏搜索框(非组件)

    提到微信小程序,就不得不提到它那磨人的顶部导航栏,真的有被丑到。身为强迫症患者,笔者实在是难以忍受,好在官方提供了解决方案,但是对于初学者还是有一丢丢的难度,为了初学者不在重蹈笔者的老路,这篇文章就给大家分享一下如何做一个好看的自定义顶部导航

    2024年02月10日
    浏览(41)
  • uni-app微信小程序,APP都适用自定义顶部导航

    *使用自定义的导航样式,首先需要把原生的顶部的导航方式给隐藏掉(\\\"navigationStyle\\\": \\\"custom\\\") *手机顶部手机状态栏的高度 *微信小程序中胶囊的位置信息存储(使用store存储) *由于微信小程序中带有导航胶囊,所以需要根据胶囊去获取一定的参数信息 在微信小程序中,我们只需要获

    2024年02月06日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包