ios微信小程序上下滑动效果

ios微信小程序上下滑动效果,第1张

小程序实现满屏上下滑动效果

写的时候发现网上没有好用的,要么过于复杂,要么不太实用,我就自己整了个简单的

直接上代码部分

//wxml部分

<swiper indicator-dots="true" indicator-color="green" indicator-active-color="red" autoplay="true" interval="5000" duration="1000" circular="true" vertical="true">

<swiper-item wx:for="{{images}}">

<image src="{{item}}" mode="scaleToFill"></image>

</swiper-item>

</swiper>

下面是js部分,大部分都是自动生成的函数,只要在data里面存放图片地址就行,其他的可以不用管

// pages/template/template.js

Page({

/**

* 页面的初始数据

*/

data: {

images: ["/pages/template/images/1.png","/pages/template/images/2.png","/pages/template/images/3.png","/pages/template/images/4.png"]

},

/**

* 生命周期函数--监听页面加载

*/

onLoad: function (options) {

},

/**

* 生命周期函数--监听页面初次渲染完成

*/

onReady: function () {

},

/**

* 生命周期函数--监听页面显示

*/

onShow: function () {

},

/**

* 生命周期函数--监听页面隐藏

*/

onHide: function () {

},

/**

* 生命周期函数--监听页面卸载

*/

onUnload: function () {

},

/**

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

*/

onPullDownRefresh: function () {

},

/**

* 页面上拉触底事件的处理函数

*/

onReachBottom: function () {

},

/**

* 用户点击右上角分享

*/

onShareAppMessage: function () {

}

})

效果图

iphone5表现效果

在这里插入图片描述

iphone 12/13 Pro Max表现效果

在这里插入图片描述

本人前端一般般,可能会有问题,仅供参考

先前看到网上不少大神写的demo,其菜单栏主要以 A,B,C,D等字母为主,即A,B,C,D等字母为对应该项携带的 id(id不能为汉字或纯数字)。而笔者现在写的项目菜单栏为汉字,所以需要改变数据格式,进而需要改变 wxml 中的循环嵌套和获取。以下为成型后效果,希望对读者有帮助。

实现该功能的思路:通过点击左侧滑栏的某一项,获取到该元素携带的 id ,然后动态传给右侧滑栏的 scroll-into-view ,从而实现右侧滑栏对应的该元素运动置顶。

以下为完整数据

数据格式:

/* pages/listers/listers.wxss /

/ pages/list-1/list-1.wxss */

/ 总体主盒子 /

.container {

position: relative

width: 100%

height: 1220rpx

background-color: #f0f4f7

color: #939393

}

/ 左侧栏主盒子 /

.nav_left{

/ 设置行内块级元素(没使用定位) /

display: inline-block

width: 100%

height: 100%

/ 主盒子设置背景色为灰色 /

background: #fff

text-align: center

/* position: fixed /

left: 0

top: 0

border-top: 1rpx solid #dedede

}

/ 左侧栏list的item /

.nav_left .nav_left_items{

background: #fff

/ 每个高30px /

height: 80rpx

/ 垂直居中 /

line-height: 80rpx

/ 再设上下padding增加高度,总高42px /

padding: 15rpx 0

/ 只设下边线 /

border-bottom: 1px solid #dedede

/ 文字14px /

font-size: 29rpx

color: #101010

font-weight:

}

/ 左侧栏list的item被选中时 /

.nav_left .nav_left_items.active{

/ 背景色变成白色*/

background: #f0f4f7

color: #ed1000

}

/ 右侧栏主盒子 /

.scroll_right{

/ 右侧盒子使用了绝对定位 /

position: fixed

top: 0

right: 0

overflow: auto

flex: 1

/ 宽度75%,高度占满,并使用百分比布局 /

width: 75%

height: 100%

padding: 20rpx

box-sizing: border-box

background-color: #f0f4f7

border-top: 1rpx solid #dedede

}

.mink::after{

display:blockcontent:''clear:both

}

.jiul,.jiul image{

width: 100%

height: 170rpx

}

.minl{

font-size: 29rpx

color: #777

text-align: left

line-height: 60rpx

float: left

background: #f0f4f7

width: 100%

/* height: 50rpx /

}

.mink{

width: 100%

background: #fff

height: 100%

}

/ 右侧栏list的item /

.nav_right_items{

/ 浮动向左 /

float: left

/ 每个item设置宽度是33.33% /

width: 50%

/ height: 160rpx /

text-align: center

color: #4a4a4a

background: #fff

}

.nav_right_items image{

/ 被图片设置宽高 /

width: 60px

height: 50px

margin-top: 15rpx

}

.nav_right_items text{

/ 给text设成块级元素 /

display: block

margin-top: 5rpx

margin-bottom: 10rpx

font-size: 26rpx

/ 设置文字溢出部分为... /

overflow: hidden

white-space: nowrap

text-overflow: ellipsis

}

/ * 自定义其他点击态样式类 **/

.other-navigator-hover{

background:#fff

}

.scroll_left{

width:25%

height:100%

background:#fff

text-align:center

position: fixed

left: 0top: 0

}

页面中view设置width:100%之后,页面右边会多出一块白区域,并且可以左右滑动,解决方法是给这个view加一个box-sizing:border-box

2.

直接给最外层的view设置一个overflow-x:hidden//裁剪 div 元素中内容的左/右边缘 - 如果溢出元素的内容区域的话进行隐藏

3.

在json文件里面加 "disableScroll": true

4.

给page一个d性盒子 page { width:100%display: flex} 然后将page下面的根元素盒子宽度设为100%,overflow:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11265572.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存