原生微信小程序 动态(横向,纵向)公告(广告)栏
先看一下动态效果

Y轴滚动公告的原理是swiper组件在页面中的Y轴滚动,属性vertical,其余属性也设置一下autoplay circular interval="3000"
X轴滚动的原理是,利用动画效果,将内容从右往左过渡过去
wxml:
<!-- Y轴滚动公告 -->
<view class="wrapY"><swiperclass="swiper_wrap"verticalautoplaycircularinterval="3000"><block class="block_wrap" wx:for="{{items}}"><swiper-item><view class="itemCon">{{item.title}}</view></swiper-item></block></swiper>
</view>
<!-- X轴滚动公告 -->
<view class='wrapX'><view class="wrapOut"><view class="wrapInner"><view class="contant">{{notice}}</view></view></view>
</view>
wxss:
view,
swiper,
swiper-item,
navigator {padding: 0;margin: 0;box-sizing: border-box;
}
.wrapY {padding: 20rpx;
}
.wrapY .swiper_wrap {width: 95vw;height: 60rpx;background-color: #FFEBDA;border-radius: 30rpx;padding-left: 40rpx;padding-right: 30rpx;
}
.wrapY .swiper_wrap .itemCon {overflow: hidden;white-space: nowrap;text-overflow: ellipsis;line-height: 60rpx;
}
.wrapX {padding: 20rpx;
}
.wrapX .wrapOut {background-color: #FFEBDA;height: 60rpx;border-radius: 30rpx;overflow: hidden;
}
.wrapX .wrapOut .wrapInner {overflow: hidden;margin-left: 40rpx;margin-right: 40rpx;
}
.wrapX .wrapOut .wrapInner .contant {line-height: 60rpx;white-space: nowrap;animation: remindMessage 13s linear infinite;width: 100%;
}
@keyframes remindMessage {0% {-webkit-transform: translateX(100%);}100% {-webkit-transform: translateX(-180%);}
}
less:
view,
swiper,
swiper-item,
navigator {padding: 0;margin: 0;box-sizing: border-box;
}
.wrapY {padding: 20rpx;.swiper_wrap {width: 95vw;height: 60rpx;background-color: #FFEBDA;border-radius: 30rpx;padding-left: 40rpx;padding-right: 30rpx;.itemCon {overflow: hidden;white-space: nowrap;text-overflow: ellipsis;line-height: 60rpx;}}
}.wrapX {padding: 20rpx;.wrapOut {background-color: #FFEBDA;height: 60rpx;border-radius: 30rpx;overflow: hidden;.wrapInner {overflow: hidden;// 这里不能用padding,会被当做盒子的一部分,文字到达一定部位之后,仍然不会隐藏margin-left: 40rpx;margin-right: 40rpx;.contant {line-height: 60rpx;white-space: nowrap;animation: remindMessage 13s linear infinite;width: 100%;}}}}@keyframes remindMessage {0% {-webkit-transform: translateX(100%);}100% {-webkit-transform: translateX(-180%);}
}
js:
Page({data: {items: [{title: "公告:由加莉由加莉由加莉由加莉由加莉由加莉由加莉由加莉由加莉"},{title: "公告:真步真步真步真步真步真步真步真步真步真步真步真步真步真步"},{title: "公告:镜华镜华镜华镜华镜华镜华镜华镜华镜华镜华镜华镜华镜华镜华"}],notice: ""},onLoad: function (options) {this.autoChangeX();},autoChangeX: function () {// 定义初始第一条的内容let index = 0;const { items } = this.data;this.setData({notice: items[0].title})index++;// 设置定时器,和动画时间间隔相等// 每隔13秒更换X轴公告的内容setInterval(() => {if (index === items.length - 1) {this.setData({notice: items[index].title})index = 0;} else {this.setData({notice: items[index].title})index++;}}, 1000 * 13)}
})
相关文章:
原生微信小程序 动态(横向,纵向)公告(广告)栏
先看一下动态效果 Y轴滚动公告的原理是swiper组件在页面中的Y轴滚动,属性vertical,其余属性也设置一下autoplay circular interval"3000" X轴滚动的原理是,利用动画效果,将内容从右往左过渡过去 wxml: &l…...
pandas和polars简单的对比分析
pandas pandas是基于python写的,底层的数据结构是Numpy数据(ndarray)。pandas自身有两个核心的数据结构:DataFrame和Series,前者是二维的表格数据结构,后者是一维标签化数组。 polars polars是用Rust(一种系统级编程…...
Feign远程调用的使用
假设已配好nacos服务:并且已配好userservice、orderservice,点击跳转 Feign是一个声明式的http客户端,官方地址:https://github.com/OpenFeign/feign,其作用就是在程序中帮助我们优雅的实现http请求的发送,…...
Postman API测试之道:不止于点击,更在于策略
引言:API测试的重要性 在当今的软件开发中,API已经成为了一个不可或缺的部分。它们是软件组件之间交互的桥梁,确保数据的流动和功能的实现。因此,对API的测试显得尤为重要,它不仅关乎功能的正确性,还涉及到…...
5G 数字乡村数字农业农村大数据中心项目农业大数据建设方案PPT
导读:原文《5G 数字乡村数字农业农村大数据中心项目农业大数据建设方案PPT》(获取来源见文尾),本文精选其中精华及架构部分,逻辑清晰、内容完整,为快速形成售前方案提供参考。以下是部分内容, 喜…...
Golang Gorm 一对多的添加
一对多的添加有两种情况: 一种是添加用户的时候同时创建文章其次是创建文章关联已经存在的用户。 package mainimport ("gorm.io/driver/mysql""gorm.io/gorm" )// User 用户表 一个用户拥有多篇文章 type User struct {ID int64Name …...
图像扭曲之锯齿
源码: void wave_sawtooth(cv::Mat& src,cv::Mat& dst,double amplitude,double wavelength) {dst.create(src.rows, src.cols, CV_8UC3);dst.setTo(0);double xAmplitude amplitude;double yAmplitude amplitude;int xWavelength wavelength;int yWave…...
【分布式技术专题】「OSS中间件系列」Minio的文件服务的存储模型及整合Java客户端访问的实战指南
Minio的元数据 数据存储 MinIO对象存储系统没有元数据数据库,所有的操作都是对象级别的粒度的,这种做法的优势是: 个别对象的失效,不会溢出为更大级别的系统失效。便于实现"强一致性"这个特性。此特性对于机器学习与大数据处理非…...
构建个人博客_Obsidian_github.io_hexo
1 初衷 很早就开始分享文档,以技术类的为主,一开始是 MSN,博客,随着平台的更替,后来又用了 CSDN,知乎,简书…… 再后来是 Obsidian,飞书,Notion,常常有以下困…...
烟花厂人员作业释放静电行为检测算法
烟花厂人员作业释放静电行为检测算法通过pythonyolo系列算法模型框架,烟花厂人员作业释放静电行为检测算法在工厂车间入口处能够及时捕捉到人员是否触摸静电释放仪。一旦检测到人员进入时没有触摸静电释放仪,系统将自动触发告警。Python是一种由Guido va…...
ARTS挑战第二周-T:PHP数组相关操作
array_combine() 函数 合并两个数组 array_combine()传入2个参数,使用方法如下 array_combine(array $keys, array $values): array 返回一个 array,用来自 keys 数组的值作为键名,来自 values 数组的值作为相应的值。 array_key_exists() 函…...
【如何对公司网络进行限速?一个案例详解】
有不少朋友问到了关于企业网络QoS配置,这个确实在实际网络应用中非常多,基本上大部分企业或个人都用到这个功能,本期我们详细了解下QoS如何对宽带进行限制,QoS如何企业中应用。 一、什么是QoS? Qos是用来解决网络延迟和阻塞等问…...
服务器安全-修改默认ssh端口
防火墙先打开指定端口,要不修改后连不上(端口需要在65535之内) firewall-cmd --list-ports firewall-cmd --add-port54111/tcp --permanent firewall-cmd --reload-------------------- 先让两个端口同时存在,等配置成功后关闭22端口 vim /etc/ssh/sshd_config重启sshd service…...
保护隐私的第一步:从更新浏览器开始
当今社会已经进入了数字化和网络化的时代,而网络安全问题也日益突显。随着互联网在我们生活中的不断渗透,网络威胁变得愈发普遍和隐蔽。在这样的背景下,网络浏览器作为人们访问互联网的主要工具之一,不仅为我们提供了便捷的上网方…...
Python爬虫框架之快速抓取互联网数据详解
概要 Python爬虫框架是一个能够帮助我们快速抓取互联网数据的工具。在互联网时代,信息爆炸式增长,人们越来越需要一种快速获取信息的方式。而Python爬虫框架就能够帮助我们完成这个任务,它可以帮助我们快速地从互联网上抓取各种数据…...
【算法专题突破】双指针 - 盛最多水的容器(4)
目录 1. 题目解析 2. 算法原理 3. 代码编写 写在最后: 1. 题目解析 题目链接:11. 盛最多水的容器 - 力扣(Leetcode) 这道题目也不难理解, 两边的柱子的盛水量是根据短的那边的柱子决定的, 而盛水量…...
循环神经网络(RNN) | 项目还不成熟 |还在初级阶段
一,定义 循环神经网络(Recurrent Neural Network,RNN)是一种深度学习神经网络架构,专门设计用于处理序列数据,如时间序列数据、自然语言文本等(一般用来解决序列问题)。 因为它们具…...
【Spring Boot】数据库持久层框架MyBatis — MyBatis简介
MyBatis简介 本节首先会介绍什么是ORM、什么是MyBatis、MyBatis的特点以及核心概念,最后介绍MyBatis是如何启动、如何加载配置文件的? 1.什么是ORM ORM(Object Relational Mapping,对象关系映射)是为了解决面向对象…...
K8S Nginx Ingress实现金丝雀发布
通过给 Ingress 资源指定 Nginx Ingress 所支持的 annotation 可实现金丝雀发布。 需给服务创建2个 Ingress,其中1个常规 Ingress,另1个为带 nginx.ingress.kubernetes.io/canary: "true" 固定的 annotation 的 Ingress,称为 Cana…...
【C++入门】new和delete(C/C++内存管理)
目录 1.C/C内存分布2.C语言中动态内存管理方式3.C内存管理方式3.1new/delete操作内置类型3.2new和delete操作自定义类型 4.operator new与operator delete函数5.new和delete的实现原理5.1内置类型5.2自定义类型 6.malloc/free和new/delete的区别7.定位new表达式(了解…...
源码级重构与低代码交付:企业级 AI 视频管理平台的二次开发实战
作为一位在安防行业摸爬滚打 10 年的架构师,我经常被集成商朋友的灵魂拷问:“有没有一套代码,既能直接拿去给客户演示(低代码),又能让我根据客户需求改得‘面目全非’(深度定制)&…...
开源小模型也能干大事:MinerU图文理解实战教程
开源小模型也能干大事:MinerU图文理解实战教程 1. 项目简介 OpenDataLab MinerU 是一个专门针对文档理解设计的智能多模态模型,基于 OpenDataLab/MinerU2.5-1.2B 模型构建。虽然只有 1.2B 参数,但这个模型在文档解析方面表现出色࿰…...
FlowState Lab结合计算机网络概念:模拟智能网络配置助手
FlowState Lab结合计算机网络概念:模拟智能网络配置助手 1. 网络运维的痛点与AI解决方案 网络工程师每天都要面对复杂的网络环境和层出不穷的故障问题。传统排错流程往往需要工程师手动检查设备配置、分析日志信息、查阅技术文档,这个过程耗时耗力且容…...
Qwen3-TTS快速部署指南:Web界面操作,无需代码基础
Qwen3-TTS快速部署指南:Web界面操作,无需代码基础 1. 引言:语音合成的零门槛体验 你是否曾经想过为自己的项目添加语音功能,却被复杂的代码和配置吓退?现在,借助Qwen3-TTS-12Hz-1.7B-Base镜像,…...
SenseVoice语音识别问题解决:常见音频格式支持与ITN功能详解
SenseVoice语音识别问题解决:常见音频格式支持与ITN功能详解 1. 音频格式兼容性:你的音频文件能被识别吗? 语音识别系统的第一步就是正确读取音频文件。很多用户在实际使用中遇到的第一个问题往往是:"为什么我的音频文件无…...
Swin2SR多帧超分:视频序列的时空信息融合
Swin2SR多帧超分:视频序列的时空信息融合 1. 引言 你有没有遇到过这样的情况:从监控录像中截取的关键画面模糊不清,或者老视频中的珍贵片段分辨率太低,无法看清细节?传统单帧超分技术往往力不从心,因为它…...
Kurento Media Server与OpenVidu集成:打造企业级视频会议系统
Kurento Media Server与OpenVidu集成:打造企业级视频会议系统 【免费下载链接】kurento-media-server [ARCHIVED] Contents migrated to monorepo: https://github.com/Kurento/kurento 项目地址: https://gitcode.com/gh_mirrors/ku/kurento-media-server K…...
7yuv调试神器+RGA组合拳:快速定位GStreamer解码数据异常区域
7yuv调试神器与RGA组合拳:高效解决NV12解码数据异常问题 在视频处理开发中,经常会遇到解码后的NV12数据出现异常区域(如绿边、花屏)的情况。这不仅影响视觉效果,还可能导致后续处理算法失效。本文将介绍如何利用7yuv可…...
Gurobi优化求解器状态码全解析:从model.status到对偶变量获取
Gurobi优化求解器状态码深度实战指南 当你在深夜调试一个复杂的供应链优化模型时,控制台突然弹出"STATUS: 3"的提示——这意味着什么?该如何快速定位问题?又该如何提取关键诊断信息?作为数学优化领域的工业级求解器&…...
零门槛!30分钟搭建本地化数字人交互系统:从安装到对话全流程
零门槛!30分钟搭建本地化数字人交互系统:从安装到对话全流程 【免费下载链接】Fay Fay 是一个开源的数字人类框架,集成了语言模型和数字字符。它为各种应用程序提供零售、助手和代理版本,如虚拟购物指南、广播公司、助理、服务员、…...
