当前位置: 首页 > news >正文

进不去的网站用什么浏览器动力启航做网站

进不去的网站用什么浏览器,动力启航做网站,深圳外包公司网站,如何快速的建设网站需求 页面上有个小喇叭#xff0c;循环展示消息内容 逻辑思路 设置定时器#xff0c;修改translateX属性来实现滚动#xff0c;判断滚动位置#xff0c;修改list位置来实现无限滚动 实现效果 代码 /** Author: Do not edit* Date: 2023-09-07 11:11:45* LastEditors: …需求 页面上有个小喇叭循环展示消息内容 逻辑思路 设置定时器修改translateX属性来实现滚动判断滚动位置修改list位置来实现无限滚动 实现效果 代码 /** Author: Do not edit* Date: 2023-09-07 11:11:45* LastEditors: atwlee* LastEditTime: 2023-09-07 15:23:21* Description:* FilePath: /pan-ui/packages/Base/src/MessageScroll/index.tsx*/import { ReactNode, forwardRef, useEffect, useImperativeHandle, useRef, useState } from react; import ./index.css;export interface MessageScrollProps {messages: ReactNode[];speed?: number;gap?: number; }export interface MessageScrollRef {start: () void;pause: () void;restart: (sleep?: number) void; }const Index forwardRefMessageScrollRef, MessageScrollProps((props, ref) {const { messages, speed 20, gap 20 } props;const [messageList, setMessageList] useStateReactNode[]([]);const messageListRef useRefReactNode[]([]);const [translateX, setTranslateX] useState(0);const container useRefHTMLDivElement(null);const exceed useRef(false);const scrollX useRef(0);const run useRef(true);useEffect(() {setMessageList(messages);}, [messages]);useEffect(() {restart(0);if (container.current) {exceed.current container.current.clientWidth container.current.scrollWidth - gap;}messageListRef.current messageList;}, [messageList]);const handleMessage () {const firstChildWidth container.current?.firstElementChild?.clientWidth;if (firstChildWidth scrollX.current firstChildWidth gap) {const [first, ...rest] messageListRef.current;setMessageList([...rest, first]);}};useEffect(() {const timer setInterval(() {if (run.current exceed.current) {scrollX.current 0.5;handleMessage();setTranslateX(translateX - scrollX.current);}}, speed);return () clearInterval(timer);}, []);const restart (sleep 200, reset false) {setTranslateX(0);reset setMessageList(messages);scrollX.current 0;run.current false;const timer setTimeout(() {run.current true;clearTimeout(timer);}, sleep);};useImperativeHandle(ref, () ({start: () {run.current true;},pause: () {run.current false;},restart: (sleep) {restart(sleep, true);},}));return (div classNamerc-message-scroll-container ref{container}{messageList.map((message, index) (divkey{index}classNamerc-message-scroll-itemstyle{{ transform: translate(${translateX}px), marginRight: ${gap}px }}{message}/div))}/div); });export default Index; .rc-message-scroll-container {position: relative;display: flex;flex-wrap: nowrap;overflow: hidden; } .rc-message-scroll-container .rc-message-scroll-item{flex-shrink: 0; }FAQ 判断了内容不超出就不滚动如果内容超出了但是内容太少导致没有及时的handleMessage 没有处理这一块的逻辑。解决办法就是double一下数据
http://www.w-s-a.com/news/82968/

相关文章:

  • 四川省成华区建设局网站网站专业制作
  • 网站建设如何开票网站后台怎么做超链接
  • 教育网站设计方案建设网站技术公司电话号码
  • 建网站要定制还是第三方系统传奇网站模板psd
  • 免费搭建企业网站什么叫网站定位
  • 网站建设cms程序员培训班
  • 网站seo技术wordpress editor ios
  • 红酒网站设计成立公司需要哪些手续
  • 广州做网站哪个好网站建网站建设网站站网站
  • 如何快速提升网站pr短剧个人主页简介模板
  • 上海网站建设 永灿百度权重3的网站值多少
  • 公司展示网站模板模板工
  • 网站建设收费详情舟山公司做网站
  • 深圳宝安区住房和建设局网站html模板大全
  • 和田哪里有做网站的地方wordpress地址更改
  • 恒通建设集团有限公司网站企业网站百度指数多少算竞争大
  • 雅虎网站收录提交入口如何使用wordpress搭建网站
  • 微商城网站建设怎么样发稿是什么意思
  • dz建站与wordpress群晖做网站服务器速度快吗
  • 做手机网站的公司网站建设 app开发 图片
  • 网站开发技术背景介绍wordpress数据库重置密码
  • 开发建设网站的实施过程是一个logo设计品牌
  • 做360pc网站排名首页工程造价信息网官网首页
  • 产品销售网站模块如何设计大数据和网站开发
  • 现在帮别人做网站赚钱不济南做网站建设公司
  • 嘉兴网站建设哪家好最近三天的国际新闻大事
  • 安丘网站建设制作做网站口碑比较好的大公司
  • 成都专业做网站公司哪家好优化大师下载安装免费
  • 防蚊手环移动网站建设广东深圳有几个区
  • 网站建设找哪些平台宜兴网站开发