信息发布软件,b2b软件,广告发布软件
标题:
网页太生硬了没有动感吗Javascript滚动字幕让您耳目一新
[打印本页]
作者:
群发软件
时间:
2017-6-1 22:48
标题:
网页太生硬了没有动感吗Javascript滚动字幕让您耳目一新
本帖最后由 群发软件 于 2017-6-1 22:49 编辑
<div class="dggd_r" id="h" style="height:400px;overflow:hidden;display:inline;float:left;">
<ul id="h1">
<li><a href="#">SD卡雷锋精神的路口附近?</a></li>
<li><a href="#">SD卡雷锋精神的路口附近??</a></li>
<li><a href="#">SD卡雷锋精神的路口附近?真爱吗? </a></li>
<li><a href="#">SD卡雷锋精神的路口附近??</a></li>
<li><a href="#">SD卡雷锋精神的路口附近?</a></li>
<li><a href="#">SD卡雷锋精神的路口附近??</a></li>
<li><a href="#">SD卡雷锋精神的路口附近??</a></li>
<li><a href="#">SD卡雷锋精神的路口附近?? </a></li>
<li><a href="#">SD卡雷锋精神的路口附近??</a></li>
<li><a href="#">SD卡雷锋精神的路口附近?细节决定成败 </a></li>
<li><a href="#">SD卡雷锋精神的路口附近??</a></li>
<li><a href="#">SD卡雷锋精神的路口附近??</a></li>
<li><a href="#">SD卡雷锋精神的路口附近?</a></li>
<li><a href="#">SD卡雷锋精神的路口附近??</a></li>
<li><a href="#">SD卡雷锋精神的路口附近?</a></li>
<li><a href="#">你单身的主要原因?</a></li>
<li><a href="#">SD卡雷锋精神的路口附近??</a></li>
<li><a href="#">SD卡雷锋精神的路口附近?? </a></li>
<li><a href="#">SD卡雷锋精神的路口附近??</a></li>
<li><a href="#">SD卡雷锋精神的路口附近?</a></li>
</ul>
<ul id="h2"></ul>
</div>
<script type="text/javascript">
var speed=40;
var h2=document.getElementById("h2");
var h1=document.getElementById("h1");
var h=document.getElementById("h");
h2.innerHTML=h1.innerHTML;
function Marquee(){
if(h2.offsetTop-h.scrollTop<=0){
h.scrollTop-=h1.offsetHeight;
}
else{
h.scrollTop++;
}
}
var MyMar=setInterval(Marquee,speed);
h.onmouseover=function() {clearInterval(MyMar)}
h.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</script>
功能的实现只需这些代码即可 ,当然如果不行,就是div的高度有问题。
复制代码
我们一般都用Marquee标签控制元素的滚动。但是单向的Marquee滚动是不连续的,每滚完一幕,就会出现一次空白。而下面介绍中的滚动则是连续的,毫不间断。
下面小阳为你介绍这是如何实现的。
为了滚动能够“连续”,我们需要将字幕的内容复制多遍,直到内容的高度不小于滚动区高度的两倍。然后我们将溢出的滚动条隐藏掉,用代码控制滚动条向下移动(这时内容将向上移动)。当滚动条滚动到最下方时,理论上不能再往下滚动了,于是我们立刻调整滚动条,将它向上滚动到一个和当前画面一样的位置。结果我们看到的就是连续的滚动了。呵呵,说的就是这么简单,那做起来如何呢?我们看看是如何逐步实现的。
<div id="marquees"> <!-- 这些是字幕的内容,你可以任意定义 --> <a href="#">链接一</a>
<br> <a href="#">链接二</a>
<br> <a href="#">链接三</a>
<br> <a href="#">链接四</a>
<br> <!-- 字幕内容结束 -->
</div>
<!-- 以下是java-script代码 -->
<script language="java-script">
<!--
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()",10);
}
document.body.onload=init;
preTop=0; //这个变量用于判断滚动条是否已经到了尽头
function scrollUp(){ //滚动条的驱动函数
if(stopscroll==true) return; //如果变量"stopscroll"为真,则停止滚动
preTop=marquees.scrollTop; //记录滚动前的滚动条位置
marquees.scrollTop+=1; //滚动条向下移动一个像素
//如果滚动条不动了,则向上滚动到和当前画面一样的位置
//当然不仅如此,同样还要向下滚动一个像素(+1):
if(preTop==marquees.scrollTop){
marquees.scrollTop=templayer.offsetHeight-marqueesHeight+1;
}
}
-->
</script>
这样就完成了,感觉做起来也不难吧。
复制代码
用JavaScript编程可以实现各种活动字幕效果,所需的代码很少,确实能够以较少的下载时间换来较好的效果,有关javascript活动字幕的实现方法,大家做个参考。
活动字幕是网页中经常使用的组件之一,它能使整个网页更有动感,显得很有生气。
现在的网站中也越来越多地使用活动字幕来加强网页的互动性。
用JavaScript编程可以实现各种活动字幕效果,所需的代码很少,确实能够以较少的下载时间换来较好的效果。
该标记语法格式如下:
<marquee
aligh=left/center/right/top/bottom
bgcolor=#n
font=n
direction=left/right/up/down
behavior=type
height=n
hspace=n
scrollamount=n
Scrolldelay=n
width=n
VSpace=n
loop=n>
可以看出由于活动字幕的显示方式多种多样,可选的参数也很多。
Bgcolor:用于设定活动字幕的背景颜色,一般是十六进制数。
Behavior:用于设定滚动的方式,主要由三种方式:behavior="scroll"表示从一端滚动到另一端;behavior="slide"表示从一端快速滑动到另一端,且不重复;behavior="alternate"表示在两端之间来回滚动。
Hspace和vspace:分别用于设定滚动字幕的左右边框和上下边框的宽度。
Scrollamount:用于设定活动字幕一次滚动的距离。
scrolldelay:用于设定滚动两次之间的延迟时间。
Loop:用于设定滚动的次数,当loop=-1表示一直滚动下去,直到页面更新。
<marquee>标记的默认情况是向左滚动无限次,字幕高度是文本高度,滚动范围:水平滚动的宽度是当前位置的宽度;垂直滚动的高度是当前位置的高度。
分享两个通过JavaScript编程实现特殊效果活动字幕的脚本代码:
1,带链接的水平滚动字幕
带链接的水平滚动字幕一般用于广告宣传,非常醒目:
复制代码 代码示例:
<script language="JavaScript">
var marqueewidth=400
var marqueeheight=20
var speed=4
var marqueecontents='<strong><big>欢迎访问<a >中国电脑教育报网站</a>欢迎您光临<a mailto:net@cc">给我来封信!</a></big></strong></font>'
document.write('<marquee scrollAmount='+speed+'
>'+marqueecontents+'</marquee>')
</script>
2,带链接的垂直滚动字幕
垂直滚动的活动字幕常用于以滚动方式发布新闻。脚本代码中参数“behavior、derection、width、height、scrollamount、scrolldelay”分别确定了活动字幕的滚动方式、滚动方向、宽度、高度、一次滚动距离、延迟时间等,另外参数“onmouseover='this.stop()'”所实现的效果是当鼠标指针移动到活动字幕上时,字幕停止滚动,参数“onmouseout='this.start()'”恰好与之相反。
复制代码 代码示例:
<script language=vbScript>document.write("<marquee behavior=scroll direction=up width=130 height=80 scrollamount=1 scrolldelay=60 onmouseover='this.stop()' onmouseout='this.start()'>")</script>
<p><a >
</a><br>
<a >~=~>>毕业班学生下周离校</a><br>
<a >~=~>>7月10日放暑假</a><br>
<a >~=~>>省水利年会在我校召开</a><br><br>
<script language=vbScript>document.write
("</marquee>")</script>
</p>
将上述代码嵌入网页中的适当位置,并改变链接内容即可得到一个滚动的新闻公告栏。
复制代码
作者:
大宝罗滴滴
时间:
2017-6-2 05:08
效果不错,喜欢。
作者:
qiaozong01
时间:
2017-6-2 15:56
服务态度蛮好的,我还是比较信赖的,希望以后一直保持。
作者:
niyaoz1
时间:
2017-6-7 20:52
,值得信赖
作者:
大宝罗滴滴
时间:
2017-6-10 05:54
次了,服务好,活好,技术好,耐心,就是我有毛病,看着自己论坛不好,老买。啪啪啪
作者:
枯干枯干
时间:
2017-6-15 07:22
一流,很不错,服务很周到很全面,不懂得地方卖家会一一解答很满意哦!
作者:
jzgsjt
时间:
2017-6-22 10:05
,第一次买很满意,服务态度很好
作者:
ebxly
时间:
2017-6-27 04:24
收到了,安装上了,特别好用,速度很快,商家的售后做的很到位,耐心的讲解,热情的招待,技术方面很专业.
欢迎光临 信息发布软件,b2b软件,广告发布软件 (http://postbbs.com/)
Powered by Discuz! X3.2