<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
div{border:1px solid #ccc;background:#eee;margin:10px;}
</style>
说明:<ul>
<li>可以设置是否响应鼠标暂停</li>
<li>可以设置滚动滚动方向</li>
<li>可以设置滚动速度</li>
<li>图文支持</li>
<li>。。。</li>
</ul>
<hr />
<!-- 必须包含的js文件 [[ -->
<script type="text/javascript">
function Marquee()
{
this.ID = document.getElementById(arguments[0]);
if(!this.ID)
{
alert("您要设置的/"" + arguments[0] + "/"初始化错误/r/n请检查标签ID设置是否正确!");
this.ID = -1;
return;
}
this.Direction = this.Width = this.Height = this.DelayTime = this.WaitTime = this.CTL = this.StartID = this.Stop = this.MouseOver = 0;
this.Step = 1;
this.Timer = 30;
this.DirectionArray = {"top":0 , "up":0 , "bottom":1 , "down":1 , "left":2 , "right":3};
if(typeof arguments[1] == "number" || typeof arguments[1] == "string")this.Direction = arguments[1];
if(typeof arguments[2] == "number")this.Step = arguments[2];
if(typeof arguments[3] == "number")this.Width = arguments[3];
if(typeof arguments[4] == "number")this.Height = arguments[4];
if(typeof arguments[5] == "number")this.Timer = arguments[5];
if(typeof arguments[6] == "number")this.DelayTime = arguments[6];
if(typeof arguments[7] == "number")this.WaitTime = arguments[7];
if(typeof arguments[8] == "number")this.ScrollStep = arguments[8];
this.ID.style.overflow = this.ID.style.overflowX = this.ID.style.overflowY = "hidden";
this.ID.noWrap = true;
this.IsNotOpera = (navigator.userAgent.toLowerCase().indexOf("opera") == -1);
if(arguments.length >= 7)this.Start();
}
Marquee.prototype.Start = function()
{
if(this.ID == -1)return;
if(this.WaitTime < 800)this.WaitTime = 800;
if(this.Timer < 20)this.Timer = 20;
if(this.Width == 0)this.Width = parseInt(this.ID.style.width);
if(this.Height == 0)this.Height = parseInt(this.ID.style.height);
if(typeof this.Direction == "string")this.Direction = this.DirectionArray[this.Direction.toString().toLowerCase()];
this.HalfWidth = Math.round(this.Width / 2);
this.HalfHeight = Math.round(this.Height / 2);
this.BakStep = this.Step;
this.ID.style.width = this.Width + "px";
this.ID.style.height = this.Height + "px";
if(typeof this.ScrollStep != "number")this.ScrollStep = this.Direction > 1 ? this.Width : this.Height;
var templateLeft = "MSCLASS_TEMP_HTML MSCLASS_TEMP_HTML";
var templateTop = "MSCLASS_TEMP_HTML MSCLASS_TEMP_HTML";
var msobj = this;
msobj.tempHTML = msobj.ID.innerHTML;
if(msobj.Direction <= 1)
{
msobj.ID.innerHTML = templateTop.replace(/MSCLASS_TEMP_HTML/g,msobj.ID.innerHTML);
}
else
{
if(msobj.ScrollStep == 0 && msobj.DelayTime == 0)
{
msobj.ID.innerHTML += msobj.ID.innerHTML;
}
else
{
msobj.ID.innerHTML = templateLeft.replace(/MSCLASS_TEMP_HTML/g,msobj.ID.innerHTML);
}
}
var timer = this.Timer;
var delaytime = this.DelayTime;
var waittime = this.WaitTime;
msobj.StartID = function(){msobj.Scroll()}
msobj.Continue = function()
{
if(msobj.MouseOver == 1)
{
setTimeout(msobj.Continue,delaytime);
}
else
{ clearInterval(msobj.TimerID);
msobj.CTL = msobj.Stop = 0;
msobj.TimerID = setInterval(msobj.StartID,timer);
}
}
msobj.Pause = function()
{
msobj.Stop = 1;
clearInterval(msobj.TimerID);
setTimeout(msobj.Continue,delaytime);
}
msobj.Begin = function()
{
msobj.ClientScroll = msobj.Direction > 1 ? msobj.ID.scrollWidth / 2 : msobj.ID.scrollHeight / 2;
if((msobj.Direction <= 1 && msobj.ClientScroll <= msobj.Height + msobj.Step) || (msobj.Direction > 1 && msobj.ClientScroll <= msobj.Width + msobj.Step)) {
msobj.ID.innerHTML = msobj.tempHTML;
delete(msobj.tempHTML);
return;
}
delete(msobj.tempHTML);
msobj.TimerID = setInterval(msobj.StartID,timer);
if(msobj.ScrollStep < 0)return;
msobj.ID.onmousemove = function(event)
{
if(msobj.ScrollStep == 0 && msobj.Direction > 1)
{
var event = event || window.event;
if(window.event)
{
if(msobj.IsNotOpera)
{
msobj.EventLeft = event.srcElement.id == msobj.ID.id ? event.offsetX - msobj.ID.scrollLeft : event.srcElement.offsetLeft - msobj.ID.scrollLeft + event.offsetX;
}
else
{
msobj.ScrollStep = null;
return;
}
}
else
{
msobj.EventLeft = event.layerX - msobj.ID.scrollLeft;
}
msobj.Direction = msobj.EventLeft > msobj.HalfWidth ? 3 : 2;
msobj.AbsCenter = Math.abs(msobj.HalfWidth - msobj.EventLeft);
msobj.Step = Math.round(msobj.AbsCenter * (msobj.BakStep*2) / msobj.HalfWidth);
}
}
msobj.ID.onmouseover = function()
{
if(msobj.ScrollStep == 0)return;
msobj.MouseOver = 1;
clearInterval(msobj.TimerID);
}
msobj.ID.onmouseout = function()
{
if(msobj.ScrollStep == 0)
{
if(msobj.Step == 0)msobj.Step = 1;
return;
}
msobj.MouseOver = 0;
if(msobj.Stop == 0)
{
clearInterval(msobj.TimerID);
msobj.TimerID = setInterval(msobj.StartID,timer);
}
}
}
setTimeout(msobj.Begin,waittime);
}
Marquee.prototype.Scroll = function()
{
switch(this.Direction)
{
case 0:
this.CTL += this.Step;
if(this.CTL >= this.ScrollStep && this.DelayTime > 0)
{
this.ID.scrollTop += this.ScrollStep + this.Step - this.CTL;
this.Pause();
return;
}
else
{
if(this.ID.scrollTop >= this.ClientScroll)
{
this.ID.scrollTop -= this.ClientScroll;
}
this.ID.scrollTop += this.Step;
}
break;
case 1:
this.CTL += this.Step;
if(this.CTL >= this.ScrollStep && this.DelayTime > 0)
{
this.ID.scrollTop -= this.ScrollStep + this.Step - this.CTL;
this.Pause();
return;
}
else
{
if(this.ID.scrollTop <= 0)
{
this.ID.scrollTop += this.ClientScroll;
}
this.ID.scrollTop -= this.Step;
}
break;
case 2:
this.CTL += this.Step;
if(this.CTL >= this.ScrollStep && this.DelayTime > 0)
{
this.ID.scrollLeft += this.ScrollStep + this.Step - this.CTL;
this.Pause();
return;
}
else
{
if(this.ID.scrollLeft >= this.ClientScroll)
{
this.ID.scrollLeft -= this.ClientScroll;
}
this.ID.scrollLeft += this.Step;
}
break;
case 3:
this.CTL += this.Step;
if(this.CTL >= this.ScrollStep && this.DelayTime > 0)
{
this.ID.scrollLeft -= this.ScrollStep + this.Step - this.CTL;
this.Pause();
return;
}
else
{
if(this.ID.scrollLeft <= 0)
{
this.ID.scrollLeft += this.ClientScroll;
}
this.ID.scrollLeft -= this.Step;
}
break;
}
}
</script>
<!-- 必须包含的js文件 ]] -->
<!-- 例子1 向上滚动 [[ -->
<div id="m">
<ul>
<li><a href="http://www.div-css.com/">Web标准化</a></li>
<li><a href="http://www.div-css.com/html/standard/">Web标准化 XHTML CSS</a></li>
<li><a href="Ajax/Javascripthttp://www.div-css.com/html/x1/">Ajax/Javascript</a></li>
<li><a href="http://www.div-css.com/html/web_design/">页面设计</a></li>
<li><a href="http://www.div-css.com/html/Web_develop/">网站开发</a></li>
<li><a href="http://www.div-css.com/html/database/">数据库</a></li>
<li><a href="http://www.div-css.com/html/server/">服务器</a></li>
<li><a href="http://bbs.div-css.com/">论坛</a></li>
</ul>
</div>
<script type="text/javascript">
new Marquee("m",0,1,258,60,50,0,0);
</script>
<!-- 例子1 [[ -->
<!-- 例子2 向下滚动 [[ -->
<div id="m0">
<ul>
<li>向下Welcome</li>
<li>向下About us</li>
<li>向下Services</li>
<li>向下Testimonials</a></li>
<li>向下Contact us</a></li>
</ul>
</div>
<script type="text/javascript">
new Marquee("m0",1,1,258,60,50,0,0);
</script>
<!-- 例子2 ]] -->
<!-- 例子3 向左滚动 [[ -->
<div id="m1" style="white-space:nowrap;">想向左就向左<<<<<想向左就向左<<<<<想向左就向左<<<<<。。。</div>
<script type="text/javascript">
new Marquee("m1",2,1,258,60,50,0,0);
</script>
<!-- 例子3 ]] -->
<!-- 例子4 向右滚动 [[ -->
<div id="m2" style="white-space:nowrap;">想向右就向右>>>>>想向右就向右>>>>>想向右就向右>>>>>。。。。</div>
<script type="text/javascript">
new Marquee("m2",3,1,258,60,50,0,0);
</script>
<!-- 例子4 ]] -->
相关推荐
DIV+CSS纵向横向下拉菜单,JS图片文字横向滚动小例子
DIV+CSS纵向横向下拉菜单,JS图片文字横向滚动,比较实用小例子,和大家分享下!
html css js图片无缝衔接跑马灯效果
【代码】html css js图片无缝衔接跑马灯效果。
JS实现title标题栏文字不间断滚动显示效果
本文实例讲述了JS实现title标题栏文字不间断滚动显示效果。分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: <!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> <meta http-equiv="Content-Type" content="text/html; charset
CSS实现文字跑马灯无缝衔接循环播放
文字跑马灯 文字循环播放 无缝衔接跑马灯
前端开发:css3实现文字首尾衔接跑马灯
故事背景 事情是这样的,卤煮无意间得知一款外放效果宇宙无敌第一的手机!!!脑袋一热就趁着阿东618大促搞了一台,毕竟卤煮是一个地道的电子发烧友!!!但是当卤煮查询物流信息的时候。。。。。。 好吧,我这该死的探索欲,被这突兀的跑马灯吸引住了目光(ca,今天看样子是收不到货了!!!) 那就说说怎么实现它吧(这个梗接的就是这么硬) 效果图 逻辑描述 p标签包含俩span标签(提示的文字),要两个span,或者2个以上,p标签定位,改变p标签left值进行运动,运动到第一个span标签的结尾处,看图!!!当第二
实现文字跑马灯的两种方式
实现文字跑马灯的两种方式 1. html实现 使用 marquee 标签,配合它的一些属性,可以实现功能强大的跑马灯文字, <marquee> 跑马灯 html实现 </marquee> 但是,这个 marquee 标签,并没有被W3C标准录入,也就是在未来的某个时候,它可能会被弃用,请慎用 为什么这么好的东东,不被认同呢? 在W3C标准中,规定功能性分离。分成为结构、样式、行为三个部分,这三个部分分别包括了,结构(xHTML、XML),样工(CSS),行为(DOM、EC
Vue简短代码实现文字首尾无缝跑马灯效果
Vue精简代码实现文字首尾无缝跑马灯效果写在前面效果图子组件代码父组件代码 写在前面 由于HTML自带的marquee标签无法做到上一条文本和下一条文本无缝衔接,所以结合网上的资源自己写了一个,代码不多,仅能横向滚动,可滚动重复滚动一条或多条文本,字数不限制,若想要实现纵向滚动可使用vux组件库的marquee组件。 效果图 gif图展示出来看起来很卡,实际不卡 子组件代码 <templa...
html+css+js实现无缝隙跑马灯
js实现从下到上跑马灯效果
CSS实现文字跑马灯效果
* 最外层盒子,需要三个属性:定宽、文字不换行、超过隐藏 *//* 让前面的几个文字有一个初始的距离,达到更好的呈现效果 */在完成一个任务的时候,要求在表格中固定宽度的其中一个。/* 盒子背景宽度将随文字宽度而进行自适应 *//* 添加动画 */
css 超出文字头尾相接滚动_【转载】CSS3 ——文本超出设置 超出显示...与跑马灯效果...
桌面平台的开发中,内容超出设定区域的大小时,我们常用的操作有三种,一个是显示,一个是隐藏,一个是出现滚动条。在手机平台的开发中,我们常用的操作也有三种,第一是隐藏,第二是显示“。。。”,第三种是滚动显示。这篇文章主要介绍后两种的用法。现阶段做手机开发,针对的智能手机主要是iPhone和Android,用的浏览器分别是safari和chrome。都是webkit内核,所以下面的实例代码也会针对web...
原生js实现中奖信息无间隙滚动效果
知识要点 1.实现原理:通过定时器不断改变列表的top值。而达到无间隙滚动就要对信息列表复制一份,再判断两个列表的top临界值初始化。最后注意的就是 防止动画积存需要对定时器进行清除。 2.用到的属性方法: setInterval() //每隔一定时间执行一次函数,可以无限执行下去 clearInterval() //清除指定的setInterval setTimeout() //经过一定时间执行一次函数,只能执行一次,如果要无限下去需要在函数里自行设置 clearTimeout() //清除指定的setTimeout 剩下的就是一些基础的dom操作 完整代码 注:因为看到了天猫积分的抽奖
纯css动画实现跑马灯效果
该动画主要以@keyframes 延迟动画实现 大致就是在动画加载到百分之多少时“动作”进行到什么程度 比如人去 伸手扶墙 这个“动作” 当你百分之0时不做动作,百分之百时手扶到墙,动作完成 中间那些包括你伸手,手臂打弯等等,在“时间”进行到多少,动作相应的完成到多少 @keyframes myfirst { 0% {left:0px;} 10% {left:-200px;} ...
包教包会,纯 CSS 实现步进环绕跑马灯效果
执行上下文是什么:代码执行前,Js引擎会创建代码的执行环境,代码的执行环境称作执行上下文,包含当前正在运行的代码以及帮助其执行的所有内容。*全局执行上下文:(1)将window作为全局执行上下文对象(2)创建this,this 指向window(3)给变量和函数安排内存空间(4)变量赋值undefined,函数声明放入内存(5)放入作用域链*全局与函数执行上下文不同:(1)全局:在文件执行前创建;函数:在函数调用时创建(2)全局:只创建一次;函数:调用几次创建几次(3)将window作为全局对象;
Css跑马灯/步进图/轮播图
这里两种跑马灯的不同,我们可以看一下。这也是轮播图的两种基础方式,我们可以明显看到两种方式的不同,一种是轮着转,还有一种我称为“闪播图”, <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> //所有div设置 .wrapper div{ .
html css跑马灯效果,css3实现文字跑马灯(css3跑马灯demo)
一、css3实现文字跑马灯CSS:.marquee {white-space: nowrap; /* 文字不折行 */overflow:-webkit-marquee; /* 只有设置为marquee才有滚动效果 */width: 170px; /* 不是必须的 */-webkit-marquee-direcTIon:left; /* 文字滚动方向 可选值为left | right | u...
前端原生 CSS 跑马灯效果,无限轮播(横竖版本,带渐变遮罩,简单实用)
公式:主图张数 * 单个图片宽度(每轮主图只有 4 张,4 张照片为一个周期,如果需要轮播的主图为 7、8、9...张,都一样) *//* 为什么设置 -600px?公式:主图张数 * 单个图片高度(每轮主图只有 4 张,4 张照片为一个周期,如果需要轮播的主图为 7、8、9...张,都一样) *//* 重点:单个图片宽度 200,相当于默认不动可见 3 个 *//* 重点:单个图片高度 150,相当于默认不动可见 1 个 *//* 重点:盒子宽度 600 *//* 重点:盒子宽度 150 */
【css】一个只用css即可实现的完美跑马灯方案
1、一段文字在页面上方滚动播放,即跑马灯。2、鼠标移动上去,字会停住。代码如下:可以自己尝试。
1995


&spm=1001.2101.3001.11974&articleId=4397219&d=1&t=3&u=8aaa9d4124c64f0faf9c7a7f5f28703d)

被折叠的 条评论
为什么被折叠?



