日期:2014-05-16  浏览次数:20651 次

div+css+javascript 实现无缝滚动,marquee无缝滚动,无缝滚动,兼容firefox

div+css+javascript 实现无缝滚动,marquee无缝滚动,无缝滚动,兼容firefox

用marquee实现首尾相连循环滚动效果(仅IE):

<marquee behavior="scroll" contenteditable="true" onstart="this.firstChild.innerHTML+=this.firstChild.innerHTML;" scrollamount="3" width="100" onmouseover="this.stop();" onmouseout="this.start();">
       这里是要滚动的内容
</marquee>

用div+css+javascript实现首尾相连循环滚动效果(兼容firefox):


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>div+css+javascript 实现无缝滚动,marquee无缝滚动,无缝滚动,兼容firefox</title>
    <style type="text/css">
        #scrollobj {
            white-space: nowrap;
            overflow: hidden;
            width: 500px;
        }
    </style>
</head>
<body>
    <div id="scrollobj" onmouseover="javascript:_stop();" onmouseout="javascript:_start();">这里是要滚动的内容 </div>
    <script language="javascript" type="text/javascript">
    <!-- 
    function _scroll(obj) {
        /*往左*/
        var tmp = (obj.scrollLeft)++;
        //当滚动条到达右边顶端时
        if (obj.scrollLeft == tmp) {
            obj.innerHTML += obj.innerHTML;
        }
        //当滚动条滚动了初始内容的宽度时滚动条回到最左端
        if (obj.scrollLeft >= obj.firstChild.offsetWidth) {
            obj.scrollLeft = 0;
        }


        /*往上*/
        //var tmp = (obj.scrollTop)++;  
        //if (obj.scrollTop == tmp) {      
        //    obj.innerHTML += obj.innerHTML;   
        //}       
        //if (obj.scrollTop >= obj.offsetHeifht) {    
        //    obj.scrollTop = 0; 
        //}
    }

    var _timer = setInterval("_scroll(document.getElementById('scrollobj'))", 20);
    function _stop() {
        if (_timer != null) {
            clearInterval(_timer);
        }
    }
    function _start() {
        _timer = setInterval("_scroll(document.getElementById('scrollobj'))", 20);
    }
    //--> 
    </script>
</body>
</html>








2楼bzybaobao3天前 19:35
学习了
1楼bzybaobao3天前 19:35
感觉很不错啊