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


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 相关文章推荐
jQuery源码分析-03构造jQuery对象-工具函数
Nov 14 Javascript
使用Math.floor与Math.random取随机整数的方法详解
May 07 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
May 19 Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
Dec 03 Javascript
微信小程序 for 循环详解
Oct 09 Javascript
页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
Aug 29 Javascript
Angular实现的简单查询天气预报功能示例
Dec 27 Javascript
在vue中使用v-bind:class的选项卡方法
Sep 27 Javascript
js回调函数仿360开机
Dec 26 Javascript
微信小程序之导航滑块视图容器功能的实现代码(简单两步)
Jun 19 Javascript
js利用iframe实现选项卡效果
Aug 09 Javascript
js实现弹框效果
Mar 24 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设计模式 Strategy(策略模式)
2011/06/26 PHP
无JS,完全php面向过程数据分页实现代码
2012/08/27 PHP
php数组保存文本与文本反编成数组实例
2014/11/13 PHP
thinkPHP中_initialize方法实例分析
2016/12/05 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
PHP实现的简单sha1加密功能示例
2017/08/27 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
学习面向对象之面向对象的基本概念:对象和其他基本要素
2010/11/30 Javascript
jQuery之$(document).ready()使用介绍
2012/04/05 Javascript
仿微博字符限制效果实现代码
2012/04/20 Javascript
FF火狐下获取一个元素同类型的相邻元素实现代码
2012/12/15 Javascript
JavaScript中把数字转换为字符串的程序代码
2013/06/19 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
js+canvas简单绘制圆圈的方法
2016/01/28 Javascript
浅析BootStrap栅格系统
2016/06/07 Javascript
新闻上下滚动jquery 超简洁(必看篇)
2017/01/21 Javascript
react router 4.0以上的路由应用详解
2017/09/21 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
2018/05/09 Javascript
JS简单判断是否在微信浏览器打开的方法示例
2019/01/08 Javascript
Vuex 模块化使用详解
2019/07/31 Javascript
JS中的算法与数据结构之栈(Stack)实例详解
2019/08/20 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
2019/09/11 Javascript
[51:05]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第一局
2016/03/06 DOTA
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
python字符串的常用操作方法小结
2016/05/21 Python
用Python爬取QQ音乐评论并制成词云图的实例
2019/08/24 Python
Python开发之基于模板匹配的信用卡数字识别功能
2020/01/13 Python
Django重设Admin密码过程解析
2020/02/10 Python
Clarins娇韵诗英国官网:来自法国的天然护肤品牌
2017/04/18 全球购物
触发器(trigger)的功能都有哪些?写出一个触发器的例子
2012/09/17 面试题
大客户销售经理职责
2013/12/04 职场文书
物业工作计划书
2014/01/10 职场文书
高中军训第一天感言
2014/03/06 职场文书
阳光体育活动总结
2014/04/30 职场文书
工商干部先进事迹
2014/05/14 职场文书
SpringBoot整合Redis入门之缓存数据的方法
2021/11/17 Redis