jQuery无缝向上滚动效果

2 篇文章 0 订阅
1 篇文章 0 订阅

该篇通过js和jquery两种写法来实现内容无缝向上滚动的一个效果,废话不多说,直接上代码

(1)向上滚动

HTML:

 <div id="demo" style="height:110px;overflow:hidden;">
        <div id="demo1">
            <ul class="prizelist">
                <li><span>21:01:03 </span><span>137****6943</span><span> ¥6.06</span></li>
                <li><span>21:01:03 </span><span>137****6943</span><span> ¥6.06</span></li>
                <li><span>21:01:03 </span><span>137****6943</span><span> ¥6.06</span></li>
                <li><span>21:01:03 </span><span>137****6943</span><span> ¥6.06</span></li>
                <li><span>21:01:03 </span><span>137****6943</span><span> ¥6.06</span></li>
                <li><span>21:01:03 </span><span>137****6943</span><span> ¥6.06</span></li>
                <li><span>21:01:03 </span><span>137****6943</span><span> ¥6.06</span></li>
                <li><span>21:01:03 </span><span>137****6943</span><span> ¥6.06</span></li>
                <li><span>21:01:03 </span><span>137****6943</span><span> ¥6.06</span></li>
                <li><span>21:01:03 </span><span>137****6943</span><span> ¥6.06</span></li>
            </ul>
        </div>
        <div id="demo2">
            <ul class="prizelist">
            </ul>
        </div>
    </div>
js代码:

  function beginroll() {
        var speed = 40
        window.onload = function() {
            var demo = document.getElementById("demo");
            var demo2 = document.getElementById("demo2");
            var demo1 = document.getElementById("demo1");
            if(demo1.offsetHeight < 110){
                $("#demo2").hide();
            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)
            }
        }
    }
        beginroll();
jQuery代码:

 $(document).ready(function(){
            function beginroll(){
            var speed = 40
            var demoScrollTop = $("#demo").scrollTop();
            var demo1OffsetHeight = $("#demo1").height();
                var demohtml= $("#demo1").html();
            $("#demo2").html(demohtml);
            function Marquee() {
                 if (demoScrollTop >= demo1OffsetHeight) {
                    demoScrollTop = 0;
                } else {
                   demoScrollTop = demoScrollTop + 1;  
                }
                $("#demo").scrollTop(demoScrollTop);
            }
            var MyMar = setInterval(Marquee, speed);
            $("#demo").mouseover(function(){
                clearInterval(MyMar);
            })
            $("#demo").mouseout(function(){
                MyMar = setInterval(Marquee, speed);
            })
             
            }
            beginroll();
        })
(2)向左滚动

HTML:

<div id="demoLeft" style="overflow:hidden;width:80%;margin-left:10%;text-align:center;">
	<table border=0 align=center cellpadding=1 cellspacing=1 cellspace=0 >
<tr>
    <td id="marquePic1">
	<table width='100%' border='0' cellspacing='0'>
	<tr>
        <td><a href='#'><img src="http://www.baidu.com/img/logo.gif"></a></td>
	    <td><a href='#'><img src="http://www.baidu.com/img/logo.gif"></a></td>
	    <td><a href='#'><img src="http://www.baidu.com/img/logo.gif"></a></td>
	    <td><a href='#'><img src="http://www.baidu.com/img/logo.gif"></a></td>
	    <td><a href='#'><img src="http://www.baidu.com/img/logo.gif"></a></td>
	    <td><a href='#'><img src="http://www.baidu.com/img/logo.gif"></a></td>
	    <td><a href='#'><img src="http://www.baidu.com/img/logo.gif"></a></td>
	    <td><a href='#'><img src="http://www.baidu.com/img/logo.gif"></a></td>
	    <td><a href='#'><img src="http://www.baidu.com/img/logo.gif"></a></td>
	</tr>
        </table>
		</td><td id="marquePic2" ></td>
        </tr>
	</table>
    </div>
JS代码:
 var speed=50;
        var demoLeft = document.getElementById("demoLeft");
        var marquePic2 = document.getElementById("marquePic2");
        var marquePic1 = document.getElementById("marquePic1");
  marquePic2.innerHTML=marquePic1.innerHTML 
function Marquee(){ 
if(demoLeft.scrollLeft>=marquePic1.scrollWidth){ 
demoLeft.scrollLeft=0 
}else{ 
demoLeft.scrollLeft++ 
} 
} 
var MyMar1=setInterval(Marquee,speed) 
demoLeft.οnmοuseοver=function() {clearInterval(MyMar1)} 
demoLeft.οnmοuseοut=function() {MyMar1=setInterval(Marquee,speed)}
总的来说,这个效果运用的是dom元素的scrollTop与offsetHeight两者之间的联系,运用定时器的操作循环操作从而实现滚动的效果








  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值