原生微信小程序 动态(横向,纵向)公告(广告)栏

先看一下动态效果

Y轴滚动公告的原理是swiper组件在页面中的Y轴滚动,属性vertical,其余属性也设置一下autoplay circular interval="3000"

X轴滚动的原理是,利用动画效果,将内容从右往左过渡过去

wxml:

<!-- Y轴滚动公告 -->
<view class="wrapY">
	<swiper
	 class="swiper_wrap"
	 vertical
	 autoplay
	 circular
	 interval="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)
  }
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/92625.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DBi Tech Studio Controls for .NET Crack

DBi Tech Studio Controls for .NET Crack Studio Controls for.NET为企业开发人员提供了一套全面的Windows布局和信息表示软件元素&#xff0c;面向搜索业务分析商业调度和UI表示控制器的程序员。Studio Controls for.NET包含17个免版税的.NET Windows窗体控件&#xff0c;用于…

高精度地图定位在高速公路自动驾驶系统中的应用

近年来随着汽车保有量不断增加&#xff0c;随之而来的是: ( 1) 严重的交通拥堵&#xff0c;通行效率低下&#xff0c;用在通行上的时间不断增加; ( 2) 交通事故频发&#xff0c;交通事故导致的伤亡人数和费用不断增加&#xff0c;而且绝大多数事故是由人为因素导致的; ( 3) 大气…

3.2 数据的表现形式及其运算

3.2.1 常量和变量 在计算机高级语言中&#xff0c;数据有两种表现形式&#xff1a;常量和变量。 1.常量 在程序运行过程中&#xff0c;其值不能被改变的量称为常量。如例3.1程序中的5,9,32和例3.2程序中的1000,0.0036,0.0225,0.0198是常量。数值常量就是数学中的常数。 常用的…

lnmp架构-mysql

1.MySQL数据库编译 make完之后是这样的 mysql 初始化 所有这种默认不在系统环境中的路径里 就这样加 这样就可以直接调用 不用输入路径调用 2.初始化 重置密码 3.mysql主从复制 配置master 配置slave 当master 端中还没有插入数据时 在server2 上配slave 此时master 还没进…

在云原生环境中构建可扩展的大数据平台:方法和策略

文章目录 1. **选择适当的云提供商&#xff1a;**2. **采用容器化和微服务架构&#xff1a;**3. **分层架构设计&#xff1a;**4. **弹性计算资源&#xff1a;**5. **使用分布式计算框架&#xff1a;**6. **数据分区和分片&#xff1a;**7. **使用列式存储&#xff1a;**8. **缓…

002微信小程序云开发API数据库-迁移状态查询/更新索引

文章目录 微信小程序云开发API数据库-迁移状态查询案例代码微信小程序云开发API数据库-更新索引案例代码 微信小程序云开发API数据库-迁移状态查询 在微信小程序中&#xff0c;云开发API数据库是一种方便快捷的数据库解决方案。但是&#xff0c;有时候我们可能需要将云开发数据…

C++笔记之rolling counter(滚动计数器)

C笔记之rolling counter&#xff08;滚动计数器&#xff09; 一个 rolling counter&#xff08;滚动计数器&#xff09;是一个计数器&#xff0c;可以在给定的范围内不断增加&#xff0c;当达到最大值时会从最小值重新开始。 code review! 文章目录 C笔记之rolling counter&…

Python|爬虫和测试|selenium框架模拟登录示例(一)

前言&#xff1a; 上一篇文章Python|爬虫和测试|selenium框架的安装和初步使用&#xff08;一&#xff09;_晚风_END的博客-CSDN博客 大概介绍了一下selenium的安装和初步使用&#xff0c;主要是打开某个网站的主页&#xff0c;基本是最基础的东西&#xff0c;那么&#xff0c;…

redis在linux和windows上的安装配置(解决问题:没有可用软件包 redis)

linux系统 安装 yum install redis安装 在终端输入yum install redis安装。 报错&#xff1a;没有可用软件包 redis。 解决&#xff1a; 运行以下命令更新软件包信息&#xff1a; sudo yum clean all sudo yum update 然后继续尝试yum install redis。 如果还不成功&a…

Redis—Redis介绍(是什么/为什么快/为什么做MySQL缓存等)

一、Redis是什么 Redis 是一种基于内存的数据库&#xff0c;对数据的读写操作都是在内存中完成&#xff0c;因此读写速度非常快&#xff0c;常用于缓存&#xff0c;消息队列、分布式锁等场景。 Redis 提供了多种数据类型来支持不同的业务场景&#xff0c;比如 String(字符串)、…

快速排序笔记

一、quick_sort方法中如果 il,jr 会死循环的分析 1、示例代码 void quick_sort(int a[],int l,int r){if(l>r) return;int il,jr; //此处设置会导致死循环int x num[(lr)>>1];while(i<j){while(a[i] <x); //死循环的地方while(a[--j] >x);if(i<j) swap(a…

Day44|leetcode 518.零钱兑换II、377. 组合总和 Ⅳ

完全背包理论基础 视频链接&#xff1a;带你学透完全背包问题&#xff01; 和 01背包有什么差别&#xff1f;遍历顺序上有什么讲究&#xff1f;_哔哩哔哩_bilibili 完全背包与01背包不同的地方就是&#xff1a;01背包每种物品只能取一次&#xff0c;而完全背包每种物品可以取…

CSS中如何隐藏元素但保留其占位空间(display:none vs visibility:hidden)?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ display: none;⭐ visibility: hidden;⭐ 如何选择⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为…

可解释性的相关介绍

一、可解释性的元定义&#xff08;Meta-definitions of Interpretability&#xff09; The extent to which an individual can comprehend the cause of a model’s outcome. [1]The degree to which a human can consistently predict a model’s outcome. [2] 可解释性&am…

深入理解Reactor模型的原理与应用

1、什么是Reactor模型 Reactor意思是“反应堆”&#xff0c;是一种事件驱动机制。 和普通函数调用的不同之处在于&#xff1a;应用程序不是主动的调用某个 API 完成处理&#xff0c;而是恰恰相反&#xff0c;Reactor逆置了事件处理流程&#xff0c;应用程序需要提供相应的接口并…

【力扣每日一题】2023.8.26 汇总区间

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们一个有序数组&#xff0c;让我们把数组内的元素汇总区间&#xff0c;也就是说有一串数字是连续的&#xff0c;比如是 1 2 3 4…

leetcode359周赛

2828. 判别首字母缩略词 核心思想:枚举。只需要枚举首字母和s是否一一对应即可。 2829. k-avoiding 数组的最小总和 核心思想&#xff1a;自己的方法就是哈希表&#xff0c;枚举i的时候&#xff0c;将k-i统计起来&#xff0c;如果出现了那么就跳过。灵神的方法是数学法&#…

PCB设计常见问题

Fill Mode中存在3个选项 Solid&#xff08;Copper Regions&#xff09; Hatched&#xff08;Tracks/arcs&#xff09; None&#xff08;outlines&#xff09; 区别Solid&#xff08;Copper Regions&#xff09;过大电流的能力更强&#xff0c;且对于电路板存在的分布电容的干扰…

山西电力市场日前价格预测【2023-08-28】

日前价格预测 预测明日&#xff08;2023-08-28&#xff09;山西电力市场全天平均日前电价为319.70元/MWh。其中&#xff0c;最高日前电价为371.80元/MWh&#xff0c;预计出现在19: 15。最低日前电价为278.59元/MWh&#xff0c;预计出现在13: 00。 价差方向预测 1&#xff1a; …

Android 基础知识

一、Activity 1、onSaveInstanceState(),onRestoreInstanceState的调用时机 onSaveInstanceState 调用时机 从最近应用中选择运行其他程序时 但用户按下Home键时 屏幕方向切换时 按下电源案件时 从当前activity启动一个新的activity时 onRestorInstanceState调用时机 只…
最新文章