`
yiminghe
  • 浏览: 1460618 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Javascript 走马灯

阅读更多

第一种:String 直接操作

 

<HTML>
<Head>
<script>
var msg="这是一个足跑马灯效果的JAVASCRIPT文档"; //定义了要显示的效果的字符
var interval=100;                //定义了每个字符的显示间隔时间
var spacelen=100;                //定义字符串的最大长度
var space10="          ";
var seq=0;                    //定义字符启始位置
function Scroll(){                //定义滚动函数一
len=msg.length;                    //给LEN赋值为信息字符串的长度
window.status=msg.substring(0,seq+1);        //给WINDOW对象的STATUS对象赋值为从MSG字符对象中截取从0到第SEQ+1个字符
seq++;                        //递增SEQ以从MSG中截取更多的字符以实现跑马灯效果
if(seq>=len){                    //检查SEQ的值是否超过字符长度,如果是,则给SEQ赋值为SAPCELEN,使用SETTIMEOUT
seq=spacelen;                    //方法以INTERVAL为间隔调用SCROLL2;否则,使用SETTIMEOUT方法以INTERVAL为间隔
window.setTimeout("Scroll2();",interval);    //调用SCROLL
}
else
window.setTimeout("Scroll();",interval);
}
function Scroll2(){                //定义滚动函数2
var ut="";  
var out='';                 
for(var i=1;i<=(spacelen/space10.length);i++)     //使用循环产生SPACELEN个空格
    out+=space10;                //给OUT赋值为120个空格

out=out+msg;                    //给OUT加上要输出的字符
len=out.length;                    //求出OUT的长度
window.status=out.substring(seq,len);        //给WINDOW的STATUS对象赋值为从OUT字符串中截取从第SEQ个字符到LEN个
seq++;                        //让SEQ递增   
if(seq>=len){seq=0;}                //判断SEQ是否大于LEN,如果是,那么SEQ赋值为0
window.setTimeout("Scroll2();",interval)    //使用WINDOW的SETTIMEOUT方法来以INTERVAL为间隔调用SCROLL2

}
Scroll();                    //调用SCROLL

</script>
</Head>


</html>

 

 

<html>
<div id="marquees"> <!-- 这些是字幕的内容,你可以任意定义 --> <a href="#">链接1</a>
<br> <a href="#">链接2</a>
<br> <a href="#">链接3</a>
<br> <a href="#">链接4</a>
<br> <!-- 字幕内容结束 -->
</div>
</html>
<!-- 以下是javascript代码 -->
<script language="javascript">
<!--
marqueesHeight=200; //内容区高度
stopscroll=false; //这个变量控制是否停止滚动
with(marquees){
noWrap=true; //这句表内容区不自动换行
style.width=0; //于是我们可以将它的宽度设为0,因为它会被撑大
style.height=marqueesHeight;
style.overflowY="hidden"; //滚动条不可见
onmouseover=new Function("stopscroll=true"); //鼠标经过,停止滚动
onmouseout=new Function("stopscroll=false"); //鼠标离开,开始滚动
}
//这时候,内容区的高度是无法读取了。下面输出一个不可见的层"templayer",稍后将内容复制到里面:
document.write('<div id="templayer" style="position:absolute;z-index:1;visibility:hidden"></div>');
function init(){ //初始化滚动内容
//多次复制原内容到"templayer",直到"templayer"的高度大于内容区高度:
while(templayer.offsetHeight<marqueesHeight){
templayer.innerHTML+=marquees.innerHTML;
} //把"templayer"的内容的“两倍”复制回原内容区:
marquees.innerHTML=templayer.innerHTML+templayer.innerHTML;
//设置连续超时,调用"scrollUp()"函数驱动滚动条:
setInterval("scrollUp()",20);
}
document.body.onload=init;
preTop=0; //这个变量用于判断滚动条是否已经到了尽头
function scrollUp(){ //滚动条的驱动函数
if(stopscroll==true) return; //如果变量"stopscroll"为真,则停止滚动
preTop=marquees.scrollTop; //记录滚动前的滚动条位置
marquees.scrollTop+=1; //滚动条向下移动一个像素
//如果滚动条不动了,则向上滚动到和当前画面一样的位置
//当然不仅如此,同样还要向下滚动一个像素(+1):
if(preTop==marquees.scrollTop){
	alert(1);
marquees.scrollTop=templayer.offsetHeight-marqueesHeight+1;
}
}
-->
</script>

 

scroll

 

  <html>  
  <head>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
  <title>连续向左滚动</title>  
  <style   type="text/css">  
  <!--  
  body   {  
  font-size:   9pt;  
  color:   #000000;  
  }  
  a   {  
          color:   #0000FF;  
  text-decoration:   none;  
  }  
  a:hover   {  
  color:   #FF0000;  
  text-decoration:   underline;  
  }  
  -->  
  </style>  
  </head>  
   
  <body>  
   
  <div   id="marquees">  
  <a   href="#">链接一</a>  
  <a   href="#">链接二</a>  
  <a   href="#">链接三</a>  
  <a   href="#">链接四</a>  
  </div>  
   
  <div   id="templayer"   style="position:absolute;left:0;top:0;visibility:hidden"></div>  
  <script   language="JavaScript">  
   
  marqueesWidth=200;  
   
  with(marquees){  
  style.height=0;  
  style.width=marqueesWidth;  
  style.overflowX="hidden";  
  style.overflowY="visible";  
  noWrap=true;  
  onmouseover=new   Function("stopscroll=true");  
  onmouseout=new   Function("stopscroll=false");  
  }  
  preLeft=0;   currentLeft=0;   stopscroll=false;  
   
  function   init(){  
  templayer.innerHTML="";  
  while(templayer.offsetWidth<marqueesWidth){  
  templayer.innerHTML+=marquees.innerHTML;  
  }  
  marquees.innerHTML+=templayer.innerHTML;  
  setInterval("scrollLeft()",10);  
  }init();  
   
  function   scrollLeft(){  
  if(stopscroll==true)   return;  
  preLeft=marquees.scrollLeft;  
  marquees.scrollLeft+=1;  
  if(preLeft==marquees.scrollLeft){  
      marquees.scrollLeft=templayer.offsetWidth-marqueesWidth+1;  
  }  
  }  
   
   
  </script>  
  </body>  
  </html>   

 


获取大小的属性有

CSS ( 大小 +border) 属性对应的 offset 长宽属性(无标准的实事标准):
1. offsetWidth
获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的宽度。
CSS width + border 对应
2. offsetHeight 获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度。
CSS height + border 对应
CSS ( 大小 -padding ) 属性对应的 client 长宽属性(无标准的实事标准):
3. clientWidth
获取对象的宽度,不计算任何边距、边框、滚动条或可能应用到该对象的补白。
CSS width - 滚动条宽度 ( 如果有 )
对应
4. clientHeight
获取对象的高度,不计算任何边距 (margin) 、边框、滚动条或可能应用到该对象的补白 (padding)
CSS height - 滚动条宽度 ( 如果有 )
对应

获取位置信息的属性有:
几个 offset 属性(无标准的实事标准):
offset 坐标 0 点是 offsetParent 元素 content 区域的左上点
5. offsetParent
获取定义对象 offsetTop offsetLeft 属性的容器对象的引用。
CSS persition = absolute 时, left,top 属性值参照的元素。
Object is positioned relative to parent element's position—or to the body object if its parent element is not positioned—using the top and left properties.
6. offsetLeft
获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置。
CSS left( absolute )+margin 对应
7. offsetTop
获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置。

CSS top(absolute)+margin 对应



scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置
event.clientX 相对文档的水平座标
event.clientY 相对文档的垂直座标
event.offsetX 相对容器的水平坐标
event.offsetY 相对容器的垂直坐标
document.documentElement.scrollTop 垂直方向滚动的值
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量
以上主要指IE之中,FireFox差异如下:
IE6.0、FF1.06+:
clientWidth = width + padding
clientHeight = height + padding
offsetWidth = width + padding + border
offsetHeight = height + padding + border
IE5.0/5.5:
clientWidth = width - border
clientHeight = height - border
offsetWidth = width
offsetHeight = height




  • 大小: 11 KB
分享到:
评论

相关推荐

    html javascript jquery 走马灯例子

    在这个“html javascript jquery 走马灯例子”中,我们将探讨如何通过HTML、JavaScript(特别是jQuery库)来实现这种效果。 首先,我们从HTML结构开始。`index.htm`文件通常包含了页面的基本结构和元素,如`&lt;head&gt;`...

    javascript 走马灯效果的链接提示

    综上所述,javascript走马灯效果的链接提示涉及到了网页特效的实现原理、不同浏览器的兼容性处理、以及美化技术等多个知识点。开发者需要灵活运用javascript对HTML和CSS的控制能力,同时考虑到不同浏览器环境的差异...

    javascript js仿marquee标签的走马灯效果.zip

    以下是一个简单的JavaScript走马灯实现: 1. 创建HTML结构,包含一个容器div和要在其中滚动的内容: ```html 这是要滚动的内容 ``` 2. 使用CSS设置初始样式,比如宽度、溢出隐藏等: ```css #myMarquee { ...

    JavaScript跑马灯图

    JavaScript跑马灯图是一种常见的网页动态效果,常用于滚动显示新闻、公告或广告等信息,以吸引用户的注意力。跑马灯效果通常是通过JavaScript语言来实现的,它可以在页面上创建一个持续滚动或循环展示的内容区域,给...

    javascript实现走马灯功能

    走马灯,js特效,网页特效代码,JS教程,javascript

    Swiper走马灯资源压缩包

    这个文件可能包含HTML、CSS和JavaScript代码,用于演示如何在项目中集成Swiper并实现走马灯效果。使用这个资源时,你需要将这些文件部署到你的Web服务器上,然后根据实际需求调整代码。 在实际应用Swiper时,你需要...

    简单的走马灯效果(停顿/无缝滚动)

    JavaScript可以监听用户事件(如鼠标悬停)来暂停走马灯,也可以设置定时器实现自动切换。以下是一个简单的JS示例: ```javascript let index = 0; const carousel = document.querySelector('.carousel'); const ...

    走马灯转盘抽奖-javascript

    总的来说,这个"走马灯转盘抽奖-javascript"项目涵盖了前端开发中的多项技术,包括JavaScript事件处理、CSS3动画和选择器,以及一些基础的动画设计原理。对于想要提升前端技能或者学习抽奖程序开发的开发者来说,这...

    时钟和日期走马灯 走马灯

    走马灯,通常在编程和数字电子领域中指的是滚动或循环显示信息的一种方式,它能够以动态的效果展示文本、图像或者时间等数据。在本文中,我们将深入探讨如何创建一个结合了时钟和日期功能的走马灯效果,以及相关的...

    HTML+CSS图片无缝走马灯效果.rar

    在创建图片走马灯时,通常会使用`&lt;div&gt;`元素作为容器,里面包含一系列的`&lt;img&gt;`元素,每张图片对应一个`&lt;img&gt;`标签。由于我们追求的是无缝效果,因此一般会复制第一张图片到序列末尾,以便在轮播结束时与第一张图片...

    图版列表走马灯特效jquery

    HTML文件会定义走马灯的结构,CSS文件负责样式设定,而JavaScript文件则包含实现走马灯效果的jQuery代码。 在编写或应用此类特效时,开发者需要注意以下几点: - 适应性:确保走马灯在不同屏幕尺寸和设备上都能正常...

    vue实现图片滚动的示例代码(类似走马灯效果)

    Vue 实现图片滚动的示例代码(类似走马灯效果) 在本示例代码中,我们将学习如何使用 Vue 实现图片滚动的效果,类似于走马灯的效果。该示例代码具有很好的参考价值,对大家有所帮助。 知识点 1: Vue 组件的使用 ...

    走马灯JS

    在这个“走马灯JS”项目中,我们将探讨如何利用JavaScript实现一个简单的走马灯功能。这个项目包含以下文件: 1. `index.html`:这是网页的主文件,它定义了页面的基本结构和内容,包括HTML标记和JavaScript代码的...

    纯css图片无缝走马灯效果源码

    【纯CSS图片无缝走马灯效果源码详解】 在网页设计中,动态的图片展示能够吸引用户的注意力,提升用户体验。"纯CSS图片无缝走马灯效果"是一种常见且实用的技术,它利用CSS3的动画(Animation)和过渡(Transition)...

    css3 实现3d动态的走马灯效果

    在实际应用中,我们可以结合JavaScript来控制走马灯的动画效果,比如切换不同项目时的平滑过渡,以及响应用户交互如点击按钮切换等。同时,为了让走马灯在不同的设备和浏览器上表现一致,我们还需要考虑兼容性问题,...

    走马灯,类似于电影的滚动字幕

    实现走马灯效果的技术手段多样,包括JavaScript、CSS3、Android SDK、iOS SDK等。对于Web开发,JavaScript库如jQuery可以方便地实现动态效果,通过设置定时器控制文本的移动速度和方向。CSS3提供了transition和...

    javascript实现图片的走马灯 可停止 可左右切换

    javascript实现图片的走马灯 可停止 可左右切换 可添加图片的解释说明信息 如果看了我的原理解释文档还是不懂的 可以去慕课网看看这个教程 代码的实现是基于这个教程改写出来的http://www.imooc.com/learn/18

    走马灯代码

    "JHTickerView"可能是这个走马灯实现的一个特定组件或者库的名称,可能是一个JavaScript类或模块,专门用于创建走马灯效果。 走马灯的实现主要包括以下几个关键点: 1. **内容容器**:这是走马灯的基础,通常是一...

    jquery文字左右和上下走马灯显示

    综上所述,"jquery文字左右和上下走马灯显示"是一个利用jQuery库创建动态文字滚动效果的技术,涉及到HTML布局、CSS样式控制以及JavaScript的动画和定时器功能。通过分析提供的文件,可以学习和理解这一技术的具体...

Global site tag (gtag.js) - Google Analytics