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

news2024/12/26 12:01:46

先看一下动态效果

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.coloradmin.cn/o/937866.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

80%的攻击仅使用三个恶意软件加载程序

根据 IT 安全公司 ReliaQuest 的威胁研究人员的说法&#xff0c;QakBot、SocGholish 和 Raspberry Robin 这三种恶意软件加载程序在 80% 的事件中造成了严重破坏。 恶意软件加载程序用作传递和执行其他形式恶意软件的工具&#xff0c;例如勒索软件、病毒、木马或蠕虫。它们是攻…

Android SDK 上手指南||第八章 应用程序资源

第八章 应用程序资源 在系列教程中的最新一篇里&#xff0c;我们将研究大家最可能在第一个开发项目中涉及到的资源类型。项目资源当中包含布局、图片以及数据值&#xff0c;这些都是应用需要使用的元素。当我们创建一个新项目时&#xff0c;项目目录下会自动生成多个用于容纳通…

[管理与领导-53]:IT基层管理者 - 8项核心技能 - 8 - 持续改进

前言&#xff1a; 管理者存在的价值就是制定目标&#xff0c;即目标管理、通过团队&#xff08;他人&#xff09;拿到结果。 要想通过他人拿到结果&#xff1a; &#xff08;1&#xff09;目标&#xff1a;制定符合SMART原则的符合业务需求的目标&#xff0c;团队跳一跳就可以…

飞腾uboot命令简单介绍

飞腾uboot和开源uboot并无大差异,故飞腾uboot固件命令可以直接从网上搜索开源uboot相关命令。 这里为了便于大家调试,将一些可能用到的命令说明一下。 在 Uboot 命令行下,输入 help 将打印所有的可用命令,复杂命令操作,通过命令 help 的方式获取具体说明。 1.help命令 …

GDB用法(一)

预备 测试代码 main.cpp #include <iostream> #include <vector> #include "student.h"using namespace std;int add(int a, int b) {return a b; }int main() {vector<int> v {1, 3};Student* s1 new Student("zz", 20);Student* …

如何评估一个需求开发通常需要多长时间?

业务人员和产品管理者有时候会想要知道在他们即将进行的项目中&#xff0c;“处理需求”的环节会花费多长时间。但这个问题并没有固定的答案&#xff0c;因为这会取决于很多因素。 有许多已经公开的行业平均数据可以提供参考&#xff0c;它可以提示我们在一个典型项目中应该花…

本质矩阵E推R和T

https://zhuanlan.zhihu.com/p/500798616 https://zhuanlan.zhihu.com/p/435306687

在vue项目中引入vuex使用(引入到vue项目中)

项目下新建store文件 // npm下载后 导入 import Vue from vue import Vuex from vuex// 注册在vue实例上 Vue.use(Vuex)// 定义结构 export default new Vuex.Store({state: {},getters: {},mutations: {},actions: {},modules: {} })//main.js import store from ./storenew …

LLMs参数高效微调(PEFT) Parameter efficient fine-tuning (PEFT)

正如你在课程的第一周所看到的&#xff0c;训练LLMs需要大量的计算资源。完整的微调不仅需要内存来存储模型&#xff0c;还需要在训练过程中使用的各种其他参数。 即使你的计算机可以容纳模型权重&#xff0c;最大模型的权重现在已经达到几百GB&#xff0c;你还必须能够为优化…

windows系统 Fooocus 图片生成模型 ,4-6GB显存即可玩,27S/p

安装步骤: 1.下载程序代码框架,大小2GB ,下载 ​​​​​​https://github.com/lllyasviel/Fooocus/releases/download/1.0.35/Fooocus_win64_1-1-1035.7z 2.下载模型文件sd_xl_base_1.0_0.9vae.safetensors ,大小6GBhttps://huggingface.co/stabilityai/stable-diffusion-x…

【C++】—— C++11之线程库

前言&#xff1a; 在本期&#xff0c;我将给大家介绍的是 C11 中新引进的知识&#xff0c;即关于线程库的相关知识。 目录 &#xff08;一&#xff09;线程库的介绍 1、线程库的由来 2、线程库的简单介绍 &#xff08;二&#xff09;线程函数参数 &#xff08;三&#xf…

在线外卖平台源码 美团外卖源码 支持多商户+多样化配送费模式+本土外卖平台+支持第三方配送

进云仿美团外卖源码是一个进云源生插件&#xff0c;支持多商户多样化配送费模式本土外卖平台支持第三方配送&#xff0c;运行需要进云框架支撑&#xff01; 特点&#xff1a; 1、多样化配送费模式&#xff1b; 2、板块-绑定商户分类机制&#xff1b; 3、板块显示时间&#…

应急物资管理系统|库房三维可视化

智慧应急物资管理系统&#xff08;智装备DW-S300&#xff09;是一套成熟系统&#xff0c;依托互3D技术、云计算、大数据、RFID技术、数据库技术、AI、视频分析技术对RFID智能仓库进行统一管理、分析的信息化、智能化、规范化的系统。 政府相关部门设立的应急物资库是防灾救灾、…

javaCV实现java图片ocr提取文字效果

引入依赖&#xff1a; <dependency><groupId>org.bytedeco</groupId><artifactId>javacv-platform</artifactId><version>1.5.5</version></dependency> 引入中文语言训练数据集&#xff1a;chi_sim GitHub - tesseract-ocr…

Failed to load ApplicationContext解决办法,spring版本问题

有如下报错&#xff1a; "D:\Program Files\Java\jdk-13.0.1\bin\java.exe" -agentlib:jdwptransportdt_socket,address127.0.0.1:7325,suspendy,servern -ea -Didea.test.cyclic.buffer.size1048576 -Dfile.encodingUTF-8 -classpath "D:\Program Files\JetBr…

飞腾CPU如何使用PXE方式安装麒麟桌面系统?

目前国产CPU(桌面级、服务器级)中,飞腾应用较为广泛,在飞腾CPU架构下,搭载以银河麒麟V10 SP1系统为主,下面我们从环境准备、环境搭建、UEFI PXE功能确认、x86笔记本软件环境配置四部分来介绍国产笔记本电脑飞腾CPU使用PXE方式安装银河麒麟V10 SP1系统的详细过程。 一、环…

【RISC-V】RISC-V寄存器简介

一、通用寄存器 32位RISC-V体系结构提供32个32位的整型通用寄存器寄存器别名全称说明X0zero零寄存器可做源寄存器(rs)或目标寄存器(rd)X1ra链接寄存器保存函数返回地址X2sp栈指针寄存器指向栈的地址X3gp全局寄存器用于链接器松弛优化X4tp线程寄存器常用于在OS中保存指向进程控…

初阶数据结构(五) 栈的介绍与实现

&#x1f493;博主csdn个人主页&#xff1a;小小unicorn&#x1f493; ⏩专栏分类&#xff1a;C &#x1f69a;代码仓库&#xff1a;小小unicorn的学习足迹&#x1f69a; &#x1f339;&#x1f339;&#x1f339;关注我带你学习编程知识 栈 栈的介绍栈的概念栈的结构 栈的实现…

Spring Framework CVE-2020-5408 CORS 配置漏洞

文章目录 0.前言1.参考文档2.基础介绍3.解决方案3.1. CrossOrigin限制指定来源3.1. WebMvcConfigurer 限制指定来源3.3. 其他用法1. 在方法上使用CrossOrigin&#xff1a;2. 在Controller上使用CrossOrigin&#xff1a;3. 设置多个源&#xff1a;4. 设置所有源&#xff1a;5. …

nginx服务与调优

一、nginx概述&#xff1a; 1.Nginx简介&#xff1a; Nginx是一个高性能的HTTP和反向代理服务器。是一款轻量级的高性能的web服务器/反向代理服 务器/电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器&#xff0c;单台物理服务器可支持30 000&#xff5e;50 000个并发请求…