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


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 相关文章推荐
js控制frameSet示例
Sep 10 Javascript
js 一个关于图片onload加载的事
Nov 10 Javascript
javascript定义变量时有var和没有var的区别探讨
Jul 21 Javascript
Vue.js中数组变动的检测详解
Oct 12 Javascript
值得分享的Bootstrap Table使用教程
Nov 23 Javascript
canvas 绘制圆形时钟
Feb 22 Javascript
详解vue.js 开发环境搭建最简单攻略
Jun 12 Javascript
Vue-不允许嵌套式的渲染方法
Sep 13 Javascript
Vue加载json文件的方法简单示例
Jan 28 Javascript
JS div匀速移动动画与变速移动动画代码实例
Mar 26 Javascript
vue.js+ElementUI实现进度条提示密码强度效果
Jan 18 Javascript
JavaScript进阶(二)词法作用域与作用域链实例分析
May 09 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中其他类型转化为Bool类型
2016/03/28 PHP
PHP使用自定义方法实现数组合并示例
2016/07/07 PHP
Laravel+Intervention实现上传图片功能示例
2019/07/09 PHP
给moz-firefox下添加IE方法和属性
2007/04/10 Javascript
javascript实现轮显新闻标题链接
2007/08/13 Javascript
Javascript 调试利器 Firebug使用详解六
2009/07/05 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
javascript中attribute和property的区别详解
2014/06/05 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
javascript DIV实现跟随鼠标移动
2020/03/19 Javascript
JS对HTML表格进行增删改操作
2016/08/22 Javascript
浅谈jquery拼接字符串效率比较高的方法
2017/02/22 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
简单实现js上传文件功能
2017/08/21 Javascript
angularJS自定义directive之带参方法传递详解
2018/10/09 Javascript
微信小程序如何自定义table组件
2019/06/29 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS VG
2014/05/25 DOTA
[15:20]DOTA2亚洲邀请赛总决赛开幕式表演:羽泉献唱
2017/04/05 DOTA
Python查询阿里巴巴关键字排名的方法
2015/07/08 Python
Python 中的range(),以及列表切片方法
2018/07/02 Python
浅析Python pandas模块输出每行中间省略号问题
2018/07/03 Python
Python编程深度学习绘图库之matplotlib
2018/12/28 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
Django 路由层URLconf的实现
2019/12/30 Python
Pytorch在NLP中的简单应用详解
2020/01/08 Python
波兰珠宝品牌:YES
2019/08/09 全球购物
劳资人员岗位职责
2013/12/19 职场文书
小学语文教学反思
2014/02/10 职场文书
社区道德讲堂实施方案
2014/03/21 职场文书
2014年财务部工作总结
2014/11/11 职场文书
作弊检讨书
2015/01/27 职场文书
人事专员岗位职责
2015/02/03 职场文书
2015年教师节感言
2015/08/03 职场文书
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
2021/03/29 Python
浅谈mysql执行过程以及顺序
2021/05/12 MySQL