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

php网站开发代码买业务送网站

php网站开发代码,买业务送网站,网站开发公司广告语,做微信商城网站建设需求 页面上有个小喇叭#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.pierceye.com/news/541259/

相关文章:

  • 江苏建设教育协会网站网络营销专员岗位职责
  • 遂宁门户网站建设先进工作单位帮别人做违法网站会判刑吗
  • 设计公司网站套餐怎么样做短视频
  • 化妆品做网站流程什么是网络营销产品
  • windows搭建php网站推荐商城网站建设
  • php网站开发门槛高吗网络推广网站推广
  • 网站推广的8种方法微信怎么开创公众号
  • 大鹏外贸网站建设海口网站网站建设
  • 手表东莞网站建设技术支持信创网站
  • 中小企业为什么要建网站wordpress特效 插件推荐
  • 好的门户网站龙南建设局网站
  • 深圳住房和建设局官网网站设计导航精选最好的设计网站大全
  • 个人备案网站建设方案书网站开发实训教程
  • 周口网站关键词优化重庆招商网
  • 国内优秀网站设计师江西宜春市城市建设档案馆网站
  • 怎么查看网站用的php还是.networdpress博客页修改
  • 企业查询网站wordpress注册没反应
  • 如何建立自已的购物网站长沙网站制作主要公司
  • 深圳 电子政务网站建设方案WordPress的login在哪里改
  • 网站快速网站推广怎么制作图片视频和配音乐
  • 河南网站制作团队湖南网址大全
  • 2019为网站网站做代理被判缓刑网站信息化建设建议
  • 部署推进网站建设网站域名费用
  • 企业信息门户网站建设方案seo网站模版
  • 谷歌有做网站建设快速建站哪里好
  • 坤和建设 网站深圳高端网站设计开发
  • 怎么做网站策划的模板如何注册咨询公司
  • 做婚恋网站投入多少钱php注册网站源码带数据库
  • 苏州网站建设制作方案手机上做app的软件
  • 青岛营销型网站html网页制作期末作业