飞道的博客

HTML学习:前端实现文字滚动效果(附视频教程)

457人阅读  评论(0)

本期教程是关于前端的,文字滚动效果怎么实现!

文末有给大家附视频教程,大家根据需求学习!

  1. 文字由左往右匀速滚动,鼠标放入时文字停止滚动,移出后继续滚动。(上一条文案完全移出容器后下一条文案才开始从左边往右移动,所以实现的时候会在两条文案的dom之间加一个空的dom)

下面的实现方案主要是用了定时器setInterval不断的改变transform在X轴的值。

代码如下:


  
  1.      var translateX =  0;
  2.      var scrollboxLength=  $( '.basicInfoWrapper .scroll-wrapper').width();
  3.      var adNum =  parseInt($( '.ad-num').html());
  4.      var itemTotalLenth =  0;
  5.      if(adNum> 0){
  6.          for( var i= 0;i<adNum;i++){
  7.              var j=(i* 2)+ 2;
  8.              var scrollItemLength = $( '.basicInfoWrapper .scroll-text .scroll-item:nth-child('+j+ ')').width();
  9.             itemTotalLenth += scrollItemLength;
  10.         }
  11.     }
  12.      var scrollLenth= itemTotalLenth + (adNum*scrollboxLength);
  13.      var basicInterval =  setInterval( function ({
  14.         translateX++
  15.          if (translateX === (scrollLenth)) {
  16.             translateX =   0;
  17.         }
  18.         $( '.basicInfoWrapper .scroll-text').css({
  19.              'transform''translateX(-' + translateX +  'px)'
  20.         })
  21.     },  20)
  22. $( ".basicInfoWrapper .scroll-wrapper").mouseleave( function(){
  23.     basicInterval =  setInterval( function ({
  24.         translateX++
  25.          if (translateX === (scrollLenth)) {
  26.             translateX =   0;
  27.         }
  28.         $( '.basicInfoWrapper .scroll-text').css({
  29.              'transform''translateX(-' + translateX +  'px)'
  30.         })
  31.     },  20)
  32. });
  33. $( ".basicInfoWrapper .scroll-wrapper").mouseenter( function(){
  34.      clearInterval(basicInterval);
  35. });

 

2.文字由下往上匀速滚动,鼠标放入时文字停止滚动,移出后继续滚动。

 

主要是用了定时器setInterval不断的改变transform在Y轴的值。

代码如下:


  
  1. var fscrollboxH =  $( '.scroll-wrapper.flagship-scroll').height();
  2. var fscrolltextH = $( '.scroll-wrapper.flagship-scroll .scroll-text').height();
  3. var fscrollBegin = (fscrollboxH/ 2)+(fscrolltextH/ 2);
  4. var fscrollY = fscrollBegin;      //初始位置
  5. var fBasicInterval =  setInterval( function ({
  6.   fscrollY--
  7.    if (fscrollY === -(fscrolltextH/ 2-fscrollboxH/ 2)) {
  8.     fscrollY =  fscrollBegin;
  9.   }
  10.   $( '.basicInfoWrapper .flagship-scroll .scroll-text').css({
  11.      'transform''translateY(' + fscrollY +  'px)'
  12.   })
  13. },  20)
  14. $( ".scroll-wrapper.flagship-scroll").mouseleave( function(){
  15.   fBasicInterval =  setInterval( function ({
  16.     fscrollY--
  17.      if (fscrollY === -(fscrolltextH/ 2-fscrollboxH/ 2)) {
  18.       fscrollY =  fscrollBegin;
  19.     }
  20.     $( '.basicInfoWrapper .flagship-scroll .scroll-text').css({
  21.        'transform''translateY(' + fscrollY +  'px)'
  22.     })
  23.   },  20)
  24. });
  25. $( ".scroll-wrapper.flagship-scroll").mouseenter( function(){
  26.    clearInterval(fBasicInterval);
  27. });

 

3.文字由下往上滚动,文字由下跳入容器中间后停顿N秒时间再往上跳出容器消失,鼠标放入时文字停止跳动,移出后继续跳动。

 

这里主要是运用了swiper插件,代码如下:


  
  1. <div class="scroll-wrapper black-scroll">
  2.      <div class="icon"> </div>
  3.      <div class="swiper-container scroll-text">
  4.          <div class="swiper-wrapper">
  5.              <div class="swiper-slide">7分钟前,有人听过 </div>
  6.              <div class="swiper-slide">评分过低,注意风险! </div>
  7.              <div class="swiper-slide">无效牌照,注意风险! </div>
  8.              <div class="swiper-slide">疑似冒牌,建议远离! </div>
  9.          </div>
  10.      </div>
  11. </div>

  
  1. var blackswiper =  new Swiper( '.black-scroll .swiper-container', {
  2.   direction:  'vertical',     //垂直方向,由下往上
  3.   autoplay: {                 //自动轮播,每2秒播放一条
  4.     delay:  2000
  5.   },
  6.   navigation:  '',
  7.   loop:  true,
  8. });
  9. blackswiper.el.onmouseover =  function(){   //鼠标放上暂停轮播
  10.   blackswiper.autoplay.stop();
  11. }
  12. blackswiper.el.onmouseleave =  function({
  13.   blackswiper.autoplay.start();
  14. }

HTML+CSS编程小白福音系列:https://pan.baidu.com/s/1m6T_pv6zJbES0Z2WY-DSXQ 提取码: e
2020jQuery入门教程全集:https://pan.baidu.com/s/1QPp3JwR8glenGr2ObRiVHg 提取码: dy

总结比较全,网盘提取码不能放这里,学习前端的伙伴,可以留言哦!

回复:前端,找我领取视频教程!或者加我建的前端群545750342,要教程直接说,我一起发大家,就没有限制了,私信我的话,一天只能回5个伙伴!


转载:https://blog.csdn.net/GUDUzhongliang/article/details/109511170
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场