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


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 相关文章推荐
为JavaScript添加重载函数的辅助方法
Jul 04 Javascript
jquery 操作两个select实现值之间的互相传递
Mar 07 Javascript
ES6学习之变量的解构赋值
Feb 12 Javascript
浅谈angularjs中响应回车事件
Apr 24 Javascript
使用JS实现气泡跟随鼠标移动的动画效果
Sep 16 Javascript
深入理解Vuex 模块化(module)
Sep 26 Javascript
Vue.JS项目中5个经典Vuex插件
Nov 28 Javascript
vue中实现先请求数据再渲染dom分享
Mar 17 Javascript
layer.open关闭父窗口 以及调用父页面的方法
Aug 17 Javascript
基于JavaScript 实现拖放功能
Sep 12 Javascript
在react-antd中弹出层form内容传递给父组件的操作
Oct 24 Javascript
JavaScript实现音乐播放器
Aug 14 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 和 XML: 使用expat函数(二)
2006/10/09 PHP
isset和empty的区别
2007/01/15 PHP
phpstorm配置Xdebug进行调试PHP教程
2014/12/01 PHP
PHP中empty,isset,is_null用法和区别
2017/02/19 PHP
详解php协程知识点
2018/09/21 PHP
Mootools 1.2教程 选项卡效果(Tabs)
2009/09/15 Javascript
jQuery中live()方法用法实例
2015/01/19 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
使用jQuery UI库开发Web界面的简单入门指引
2016/04/22 Javascript
详解JavaScript RegExp对象
2017/02/04 Javascript
Angularjs中数据绑定的实例详解
2017/08/25 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
使用Vue-cli 中为单独页面设置背景图片铺满全屏
2020/07/17 Javascript
jQuery实现简单评论功能
2020/08/19 jQuery
[04:16]DOTA2全国高校联赛16强抽签
2018/05/02 DOTA
[42:32]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第二场 10.28
2020/10/28 DOTA
Python使用函数默认值实现函数静态变量的方法
2014/08/18 Python
使用Python对微信好友进行数据分析
2018/06/27 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
Python namedtuple命名元组实现过程解析
2020/01/08 Python
Window版下在Jupyter中编写TensorFlow的环境搭建
2020/04/10 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
2020/07/06 Python
Python必须了解的35个关键词
2020/07/16 Python
爬虫代理的cookie如何生成运行
2020/09/22 Python
Django windows使用Apache实现部署流程解析
2020/10/12 Python
Python离线安装各种库及pip的方法
2020/11/28 Python
HTML5实现一个能够移动的小坦克示例代码
2013/09/02 HTML / CSS
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
领先的荷兰线上超市:荷兰之家Holland at Home(支持中文)
2021/01/21 全球购物
MVC的各个部分都有那些技术来实现?如何实现?
2016/04/21 面试题
人力资源经理的岗位职责
2014/03/02 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
Mysql 如何实现多张无关联表查询数据并分页
2021/06/05 MySQL
python图片灰度化处理的几种方法
2021/06/23 Python
如何利用python实现Simhash算法
2022/06/28 Python