原生javascript效果:无缝滚动

<style type="text/css">
#con {width:400px; padding:10px; margin:20px auto; text-align:center; border:1px solid #ccc;}
#con .roll {width:400px; height:100px; position:relative; overflow:hidden; margin-bottom:10px;}
#con ul {position:absolute;}
#con ul li {float:left; width:120px; height:100px; padding-left:10px;}
#con ul li a {display:block; width:120px; height:100px; background:#333; color:#fff;}
#con span {display:inline-block; *display:inline; *zoom:1; height:30px; line-height:30px; padding:0 10px; background:#ccc;}
</style>

  

js:

<script type="text/javascript">
window.onload=function () {
        var oCon = document.getElementById(‘con‘);
        var oUl = oCon.getElementsByTagName(‘ul‘)[0];
        var aLi = oUl.getElementsByTagName(‘li‘);
        var aSpan = oCon.getElementsByTagName(‘span‘);
        var iSpeed = -2;
        var timer;

        oUl.innerHTML += oUl.innerHTML;
        oUl.style.width = aLi.length*aLi[0].offsetWidth+‘px‘;

        function goRoll() {
                timer = setInterval(function() {
                        oUl.style.left = oUl.offsetLeft+iSpeed+‘px‘;
                        if(oUl.offsetLeft<-oUl.offsetWidth/2) {
                                oUl.style.left = ‘0px‘;
                        } else if(oUl.offsetLeft>=0) {
                                oUl.style.left = -oUl.offsetWidth/2+‘px‘;
                        }
                }, 30);
        }

        oUl.onmouseover = function() {clearInterval(timer);};
        oUl.onmouseout = function() {goRoll();};

        aSpan[0].onmouseover = function() {iSpeed = -2};
        aSpan[1].onmouseover = function() {iSpeed = 2};

        goRoll();
};
</script>

  

html:

<div id="con">
                <div class="roll">
                        <ul>
                                <li><a href="javascript:;">mming<br />无缝滚动演示<br />001</a></li>
                                <li><a href="javascript:;">mming<br />无缝滚动演示<br />002</a></li>
                                <li><a href="javascript:;">mming<br />无缝滚动演示<br />003</a></li>
                                <li><a href="javascript:;">mming<br />无缝滚动演示<br />004</a></li>
                        </ul>
                </div>
                <span><< 向左</span>
                <span>向右 >></span>
 </div>

  

时间: 2024-12-14 11:37:17

原生javascript效果:无缝滚动的相关文章

Javascript图片无缝滚动

js无缝滚动效果几乎在任何网页上都能看到它的身影,有的可能是使用插件,其实使用原始的javascript比较简单. 主要的是使用js位置知识. 1.innerHTML:设置或获取元素的html标签 2.scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距 3.offsetWidth:设置或获取指定标签的宽度 4.setInterval():设置方法定时启动 5.clearInterval();清除定时器 效果图: 先睹为快:demo <!DOCTYPE html>

原生JavaScript实现无缝轮播图

无缝轮播图是页面常用的特效之一,然而在实际的开发过程中,大部分的开发者都会使用插件来对轮播图进行开发,那么它的底层到底是怎么实现的呢,本文章将围绕这一问题展开探讨. 在讨论如何利用原生JS实现图片之间无缝切换轮播的动画效果之前,我们先来谈谈无缝轮播图片的css布局. 首先我们需要一个用来显示图片的DIV容器,然后把想要轮播的图片没有缝隙的排成一行放入DIV容器中,给DIV容器设置 overflow: hidden,这样在页面中就可以只看到一张图片,然后通过利用JS来移动ul的left值就能达到无

js-小效果-无缝滚动

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style> *{ margin: 0; padding:0; list-style: none; } #box{ width:1102px; position:relative; height:152px; overflow:

JS 实现无缝滚动动画原理(初学者入)

这段时间在教培训班的学生使用原生javascript实现无缝滚动的动画案例,做了这个原理演示的动画,分享给自学JS的朋友!博主希望对你们有帮助! 在讲解之前先看一下demo: demo:https://224137748.github.io/JS_warehouse/lunbo/domo.HTML源码:https://github.com/224137748/JS_warehouse/blob/master/lunbo/domo.HTML ps: 上面和下面的滚动进度是一致的,上面红色框是为了演

JS——无缝滚动

1.描述——无缝滚动图片 2.代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> *{margin:0;padding: 0;} .box{ width:600px; height:200px; border:1px solid gray; ma

javascript小例子:實現四方向文本无缝滚动效果

实现一个文本无缝滚动的效果: <!DOCTYPE html> <!--[if lt IE 7 ]> <html lang="zh-CN" class="ie6"> <![endif]--> <!--[if IE 7 ]> <html lang="zh-CN" class="ie7"> <![endif]--> <!--[if IE 8 ]

javascript无缝滚动

无缝滚动好像是互联网广告最大的一个载体,可以用“无处不在”来形容它.不过它比起早期的闪光字体,浮动广告算进步了.由于需求巨大,做前台迟早会遇到它.我先给出结构层部分,再慢慢讲解其实现原理. <dl id="marquee">   <dt>     <img src="http://images.cnblogs.com/cnblogs_com/rubylouvre/199042/o_s017.jpg" alt="无缝滚动&quo

JavaScript(六)——实现图片上下或者左右无缝滚动

/*! jQuery v1.8.3 jquery.com | jquery.org/license */ (function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toL

兼容各种浏览器的文字循环无缝滚动效果

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <title>中国站长天空-网页特效-文