微信小程序 scroll-view的使用案例代码详解


Posted in Javascript onJune 11, 2020

scroll-view:滚动视图
使用view其实也能实现滚动,跟div用法差不多
scroll-viewview最大的区别就在于:scroll-view视图组件封装了滚动事件,监听滚动事件什么的直接写方法就行。

scroll-view纵向滚动添加属性scroll-y,然后写一个固定高度就行了,我主要说一下scroll-view的横向滚动scroll-x

我使用了display: flex;布局,特么的直接写在scroll-view上面,显示出来的结果总是不对头,试了好多次,得到了下面两种写法;

第二种在scroll-view上添加了enable-flex启用flex布局属性,启用后内部就能使用flex布局了,不然你会发现内部布局始终是纵向的。

得到的效果是一样的,能使用scroll-view事件。

wxml:

<view class="order_item_body">
	<scroll-view scroll-x="true" scroll-into-view="{{toView}}" scroll-left="{{scrollLeft}}">
		<view class="order_item_list">
			<view class="order_item_goods" wx:for="{{order.detail}}" wx:key="index" id="detail{{index}}">
				<image src="{{item.image}}" mode="widthFix"></image>
				<text>{{item.count+index}}</text>
			</view>
		</view>
	</scroll-view>
</view>

<scroll-view scroll-x bindscroll="scroll" scroll-into-view="{{toView}}" scroll-left="{{scrollLeft}}" enable-flex="{{true}}">
	<view class="order_item_list">
		<view class="order_item_goods" wx:for="{{order.detail}}" wx:key="index" id="detail{{index}}">
			<image src="{{item.image}}" mode="widthFix"></image>
			<text>{{item.count+index}}</text>
		</view>
	</view>
</scroll-view>

wxss:

.order_item_body{
	width: 100%;
	height: 196rpx;
}

.order_item_list{
	/* width: 100%; */
	height: 100%;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	/* border: 1px solid blue; */
}


.order_item_goods {
	width: 200rpx;
	height: 192rpx;
	position: relative;
}

.order_item_goods>image {
	width: 160rpx;
	height: 160rpx;
	margin: 16rpx 20rpx;
	border: 1px solid rgba(0, 0, 0, 0.5);
}

.order_item_goods>text {
	height: 30rpx;
	line-height: 30rpx;
	padding: 0rpx 5rpx;
	font-size: 24rpx;
	color: rgba(255, 255, 255);
	border-top-left-radius: 10rpx;
	background-color: rgba(0, 0, 0, 0.5);
	position: absolute;
	bottom: 16rpx;
	right: 20rpx;
}

效果图:

微信小程序 scroll-view的使用案例代码详解

求推荐一款免费且没有水印的gif制作软件,有水印看到就烦。

ps:下面看下微信小程序scroll-view的scroll-into-view无效如何解决

最近在写小程序项目遇到这么一个问题:在使用scroll-into-view的时候无效。

在网上查了一遍,给出的答案有:

1.给scroll-view要设置高度,必须设置上scroll-y或者scroll-x为true(必须要的)

2.scroll-into-view初始化设置的时候,可能因为页面或者数据未加载不能跳转。需要在js里手动setData一下。

一顿操作猛如虎,一看还是没有效果。还是接着找原因吧。。

最后发现,原来是在给scroll-view设置高度的时候,不能用%来设置高度,改成固定高度类似500rpx就可以了

最后贴上代码:

<view class="left" wx:for="{{cateItems}}" wx:key="{{cateItems}}">
	 <view class='title' bindtap="navItem">{{item.name}}</view>
</block>

<scroll-view class="right" scroll-y="true" scroll-into-view="{{ intoindex }}" style="height: 1100rpx;" scroll-with-animation>
	<view class="clearfix" wx:for="{{cateItems}}" id="intoindex{{item.id}}"></view>
</scroll-view>

Page({
 	data: {
		intoindex:''
 	},
	navItem(e){
		const that = this
		var id = e.target.id
		that.setData({
			intoindex:'intoindex'+id
		})
	}
})

总结

到此这篇关于微信小程序 scroll-view的使用案例代码详解的文章就介绍到这了,更多相关微信小程序 scroll-view的使用 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
js 函数调用模式小结
Dec 26 Javascript
一款简单的jQuery图片标注效果附源码下载
Mar 22 Javascript
JavaScript判断用户名和密码不能为空的实现代码
May 16 Javascript
详解Sea.js中Module.exports和exports的区别
Feb 12 Javascript
微信小程序 监听手势滑动切换页面实例详解
Jun 15 Javascript
weebox弹出窗口不居中显示的解决方法
Nov 27 Javascript
AngularJS监听ng-repeat渲染完成的方法
Mar 20 Javascript
手动下载Chrome并解决puppeteer无法使用问题
Nov 12 Javascript
node.js基于socket.io快速实现一个实时通讯应用
Apr 23 Javascript
JavaScript canvas仿代码流瀑布
Feb 10 Javascript
Ant-design-vue Table组件customRow属性的使用说明
Oct 28 Javascript
详解Vue项目的打包方式(生成dist文件)
Jan 18 Vue.js
基于ajax及jQuery实现局部刷新过程解析
Sep 12 #jQuery
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
Jun 11 #Javascript
多页vue应用的单页面打包方法(内含打包模式的应用)
Jun 11 #Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
Jun 11 #Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
Jun 11 #Javascript
Vue初始化中的选项合并之initInternalComponent详解
Jun 11 #Javascript
Vue组件为什么data必须是一个函数
Jun 11 #Javascript
You might like
php array_keys 返回数组的键名
2016/10/25 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
javascript radio 联动效果
2009/03/04 Javascript
javascript 用原型继承来实现对象系统
2010/03/22 Javascript
JavaScript 面向对象的之私有成员和公开成员
2010/05/04 Javascript
使用apply方法实现javascript中的对象继承
2013/12/16 Javascript
JavaScript获取table中某一列的值的方法
2014/05/06 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
javascript验证身份证号
2015/03/03 Javascript
浅谈Nodejs观察者模式
2015/10/13 NodeJs
JavaScript判断数字是否为质数的方法汇总
2016/06/02 Javascript
DIV+CSS+jQ实现省市联动可扩展
2016/06/22 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
懒加载实现的分页&amp;&amp;网站footer自适应
2016/12/21 Javascript
Angular.js 4.x中表单Template-Driven Forms详解
2017/04/25 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
2017/11/22 Javascript
vue-cli常用设置总结
2018/02/24 Javascript
解决百度Echarts图表坐标轴越界的方法
2018/10/17 Javascript
vue项目上传Github预览的实现示例
2018/11/06 Javascript
Vue.js 中的 v-show 指令及用法详解
2018/11/19 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
python paramiko模块学习分享
2017/08/23 Python
Python实现返回数组中第i小元素的方法示例
2017/12/04 Python
使用Python进行AES加密和解密的示例代码
2018/02/02 Python
Python中property属性实例解析
2018/02/10 Python
python队列queue模块详解
2018/04/27 Python
[原创]Python入门教程4. 元组基本操作
2018/10/31 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
新手入门学习python Numpy基础操作
2020/03/02 Python
教育科学研究生自荐信
2013/10/09 职场文书
讲座主持词
2014/03/20 职场文书
2014年大学团支部工作总结
2014/12/02 职场文书
工作感言一句话
2015/08/01 职场文书
寒假致家长的一封信
2015/10/10 职场文书
MySQL创建管理子分区
2022/04/13 MySQL