使用JavaScript完成文字的间歇滚动
const init = (initData) => { const area = initData.area; // 设置单行滚动的高度; const iLineHeight = initData.iLineHeight ? initData.iLineHeight : 24; // 设置滚动的速度; const speed = initData.speed ? initData.speed : 50; let time; // 设置延迟; const delay = initData.delay ? initData.delay : 2000; area.scrollTop = 0; // 克隆整个容器,此处也可以不用克隆整个容器内容,根据需要克隆,只要保证滚动一遍之后等待下次滚动开始前不会出现空白就好; area.innerHTML += area.innerHTML; // 向上滚动主函数; function startScroll() { time = setInterval(() => scrollUp(), speed); area.scrollTop++; } // 判断函数; function scrollUp() { // 判断是否为行数的整数倍; if (area.scrollTop % iLineHeight === 0) { clearInterval(time); // 设置延迟; setTimeout(startScroll, delay); } else { area.scrollTop++; // 判断是否已经全部滚动完毕,若是,初始化; if (area.scrollTop >= area.scrollHeight / 2) { area.scrollTop = 0; } } } // 启动整个函数; setTimeout(startScroll, delay); }; const marquee = (initData) => { init(initData); }; export default marquee;
如有问题,欢迎留言(・∀・)