js文字无缝滚动,间歇滚动

1.无缝滚动

<div id="demo">
 <ul id="demo1">
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li>5</li>
  <li>6</li>
  <li>7</li>
 </ul>
 <div id="demo2"></div>
</div>

<script type="text/javascript">
 var speed=40
  // 向上滚动
  var demo=document.getElementById("demo");
  var demo2=document.getElementById("demo2");
  var demo1=document.getElementById("demo1");
  demo2.innerHTML=demo1.innerHTML
  function Marquee(){
   if(demo.scrollTop>=demo1.offsetHeight){
    demo.scrollTop=0;
   }
   else{
    demo.scrollTop=demo.scrollTop+1;
   }
  }
  var MyMar=setInterval(Marquee,speed)
  demo.onmouseover=function(){clearInterval(MyMar)}
  demo.onmouseout=function(){MyMar=setInterval(Marquee,speed)}
 //向下滚动
 // demo2.innerHTML=demo1.innerHTML
 // demo.scrollTop=demo.scrollHeight
 // function Marquee2(){
 //  if(demo1.offsetTop-demo.scrollTop>=0)
 //   demo.scrollTop+=demo2.offsetHeight
 //  else{
 //   demo.scrollTop--
 //  }
 // }
 // var MyMar2=setInterval(Marquee2,speed)
 // demo.οnmοuseοver=function() {clearInterval(MyMar2)}
 // demo.οnmοuseοut=function() {MyMar2=setInterval(Marquee2,speed)}
</script>

2.间歇滚动

<ul id="slider1">
	<li>111</li><li>222</li><li>333</li>
</ul>
//jq方法
   sliderText:function(){
       var flag=true;
       function slider(){
         if(flag){
           $("#slider1").animate({
               marginTop: "-22px"
           }, 1000, function () {
               $(this).css({ marginTop: "0px" }).find("li:first").appendTo(this);
           })
         }
       }  
       setInterval(slider,4000);
       $("#slider1").mouseover(function(){
         flag = false;
       })
       $("#slider1").mouseout(function(){
           flag = true;
       })
     }
//vue中间歇滚动
 <ul id="slider1"  :class="{marquee_top:animate}">
  <li v-for="(item,index) in marqueeList" key="index">{{item.name}}</li>
</ul>
<script>
export default {
	data() {
	    return {
	      animate: false,
	      marqueeList: [
	        {
	          name: "1军电视剧烦恼是的空间开发"
	        },
	
	        {
	          name: "2军水电费了羧甲淀粉钠盛开"
	        },
	
	        {
	          name: "3军第三方库收到货否"
	        },
	
	        {
	          name: "4军杜师傅iOS"
	        }
	      ]
	    }
  },
   created: function() {
    // 页面显示
    setInterval(this.showMarquee, 2000);
  },
  methods: {
	showMarquee: function() {
      this.animate = true;
      setTimeout(() => {
        this.marqueeList.push(this.marqueeList[0]);
        this.marqueeList.shift();
        this.animate = false;
      }, 500);
    }
}
} 
</script>
<style>
//这个CSS非常重要,否则无法看到过渡效果
.marquee_top {
  transition: all 0.5s;
  margin-top: -30px;
}
</style>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值