微信小程序实现多行文字滚动


Posted in Javascript onNovember 18, 2020

本文实例为大家分享了微信小程序实现多行文字滚动的具体代码,供大家参考,具体内容如下

微信小程序实现多行文字滚动

wxml

<view class="full" style="height:100%;overflow:hidden">
  <swiper autoplay="true" interval="3000" duration="500" circular="true" vertical="true" style="height:100%">
  <swiper-item wx:for="{{topnewslist}}" wx:key="{{index}}" catchtouchmove='catchTouchMove'>
   <van-notice-bar scrollable="{{false}}" bindtap="tonewsdetail" wx:for="{{item}}" wx:for-item="it" wx:key="{{index}}" data-newsid="{{it.new_id}}" style="width:100%" text="{{it.new_topic}}" />
  </swiper-item>
  </swiper>
</view>

wxss

swiper-item {
 height: 100%;
}

js

//index.js
//获取应用实例
import api from "../../utils/api.js"
var token = ''
const app = getApp()

Page({
 data: {
 topnewslist:[]
 },
 onLoad: function () {
 },
 tonewsdetail(e){
 var newsid=e.currentTarget.dataset.newsid;
 wx.navigateTo({
  url: '/pages/newsdetail/newsdetail?newsid='+newsid,
 })
 },

 loadscrollnews(){
 api.get("mpapi/mpmnews.ashx", { action:'toplist',token:token}).then((res)=>{
  if(res.code==1){
  //res.list=[{"new_id":1,"new_topic":"111"},{"new_id":2,"new_topic":"222"},{"new_id":3,"new_topic":"333"},{"new_id":4,"new_topic":"444"}]
  this.setData({
   topnewslist: this.splitArr(res.list, 2) //调用
   //调用之后[[{"new_id":1,"new_topic":"111"},{"new_id":2,"new_topic":"222"}],[{"new_id":3,"new_topic":"333"},{"new_id":4,"new_topic":"444"}]]
  })
  }
 })
 },
 /**
 * 分割数组创建二维数组封装
 * @param data 数组
 * @param senArrLen 需要分割成子数组的长度
 */
 splitArr(data, senArrLen){
 //处理成len个一组的数据
 let data_len = data.length;
 let arrOuter_len = data_len % senArrLen === 0 ? data_len / senArrLen : parseInt((data_len / senArrLen) + '') + 1;
 let arrSec_len = data_len > senArrLen ? senArrLen : data_len;//内层数组的长度
 let arrOuter = new Array(arrOuter_len);//最外层数组
 let arrOuter_index = 0;//外层数组的子元素下标
 // console.log(data_len % len);
 for (let i = 0; i < data_len; i++) {
  if (i % senArrLen === 0) {
  arrOuter_index++;
  let len = arrSec_len * arrOuter_index;
  //将内层数组的长度最小取决于数据长度对len取余,平时最内层由下面赋值决定
  arrOuter[arrOuter_index - 1] = new Array(data_len % senArrLen);
  if (arrOuter_index === arrOuter_len)//最后一组
   data_len % senArrLen === 0 ?
   len = data_len % senArrLen + senArrLen * arrOuter_index :
   len = data_len % senArrLen + senArrLen * (arrOuter_index - 1);
  let arrSec_index = 0;//第二层数组的索引
  for (let k = i; k < len; k++) {//第一层数组的开始取决于第二层数组长度*当前第一层的索引
   arrOuter[arrOuter_index - 1][arrSec_index] = data[k];
   arrSec_index++;
  }
  }
 }
 return arrOuter
 },
 // 截获竖向滑动
 catchTouchMove: function (res) {
 return false
 },
})

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
让FireFox支持innerText的实现代码
Dec 01 Javascript
JQuery Tips(2) 关于$()包装集你不知道的
Dec 14 Javascript
js获取GridView中行数据的两种方法 分享
Jul 13 Javascript
JavaScript中document对象使用详解
Jan 06 Javascript
学习JavaScript设计模式(多态)
Nov 25 Javascript
详解JavaScript中|单竖杠运算符的使用方法
May 23 Javascript
JS代码实现根据时间变换页面背景效果
Jun 16 Javascript
常用jQuery选择器汇总
Feb 02 Javascript
mac上node.js环境的安装测试
Jul 03 Javascript
JS动画定时器知识总结
Mar 23 Javascript
微信小程序实现简单表格
Feb 14 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
Oct 12 Javascript
微信小程序实现自定义底部导航
Nov 18 #Javascript
微信小程序绘制半圆(弧形)进度条
Nov 18 #Javascript
微信小程序实现加入购物车滑动轨迹
Nov 18 #Javascript
Map与WeakMap类型在JavaScript中的使用详解
Nov 18 #Javascript
解决js中的setInterval清空定时器不管用问题
Nov 17 #Javascript
springboot+vue实现文件上传下载
Nov 17 #Vue.js
vue 表单输入框不支持focus及blur事件的解决方案
Nov 17 #Vue.js
You might like
PHP 和 MySQL 基础教程(三)
2006/10/09 PHP
php中去除所有js,html,css代码
2010/10/12 PHP
基于curl数据采集之单页面并行采集函数get_htmls的使用
2013/04/28 PHP
解决FastCGI 进程超过了配置的活动超时时限的问题
2013/07/03 PHP
一个实用的php验证码类
2017/07/06 PHP
基于prototype的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼
2006/12/06 Javascript
Jquery 绑定时间实现代码
2011/05/03 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
2013/07/15 Javascript
JS创建自定义表格具体实现
2014/02/11 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
zepto.js中tap事件阻止冒泡的实现方法
2015/02/12 Javascript
解决JS请求服务器gbk文件乱码的问题
2015/10/16 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
2016/06/22 Javascript
Node.js的特点详解
2017/02/03 Javascript
JS实现按钮控制计时开始和停止功能
2017/07/27 Javascript
Material(包括Material Icon)在Angular2中的使用详解
2018/02/11 Javascript
jQuery基于随机数解决中午吃什么去哪吃问题示例
2018/12/29 jQuery
JS实现分页导航效果
2020/02/19 Javascript
pygame学习笔记(5):游戏精灵
2015/04/15 Python
linux环境下python中MySQLdb模块的安装方法
2017/06/16 Python
Python实现的多线程同步与互斥锁功能示例
2017/11/30 Python
python实现图片文件批量重命名
2020/03/23 Python
浅谈Python里面小数点精度的控制
2018/07/16 Python
Python中GIL的使用详解
2018/10/03 Python
CSS3颜色值RGBA与渐变色使用介绍
2020/03/06 HTML / CSS
英国最大的化装舞会服装网站:Fancydress.com
2017/08/15 全球购物
Sneaker Studio波兰:购买运动鞋
2018/04/28 全球购物
在线购买澳大利亚设计师手拿包和奢华晚装手袋:Olga Berg
2019/03/20 全球购物
Ben Sherman官方网站:英国男装品牌
2019/10/22 全球购物
法律专业应届本科毕业生求职信
2013/10/25 职场文书
美德好少年事迹材料
2014/01/19 职场文书
个人优缺点自我评价
2014/01/27 职场文书
我为党旗添光彩演讲稿
2014/09/13 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
职场新人知识:如何制定一份合理的工作计划?
2019/09/11 职场文书
Matlab如何实现矩阵复制扩充
2021/06/02 Python