当前位置:   article > 正文

HTML学习:前端实现文字滚动效果(附视频教程)_web端轮播组件 指定点 以文本的形式

web端轮播组件 指定点 以文本的形式

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

  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.文字由下往上匀速滚动,鼠标放入时文字停止滚动,移出后继续滚动。

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

主要是用了定时器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. });

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

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

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

这里主要是运用了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. }

 需要更多教程,微信扫码即可

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】

推荐阅读
相关标签