当前位置:编程学习 > JS >>

javascript无缝滚动代码 会不会闪烁?

<script language="javascript" type="text/javascript"> var speed1=30; demo2.innerHTML=demo1.innerHTML; function Marquee1(){ if(demo2.offsetWidth-demo.scrollLeft<=0) demo.scrollLeft-=demo1.offsetWidth else{ demo.scrollLeft++; } } var MyMar1=setInterval(Marquee1,speed1); demo.onmouseover=function() {clearInterval(MyMar1)}; demo.onmouseout=function() {MyMar1=setInterval(Marquee1,speed1)}; </script> 使用360浏览器放大后,感觉字体闪烁。。。 想问一下:上面的代码会不会出现闪烁,该如何改进不出现闪烁?
追问:当网页框架刷新时,字体滚动出现卡,慢怎么办?我在网页中加了一个框架,框架内容刷新时,字体滚动时,出现字体卡,慢怎么办?是啊??出现什么问题了??我就是写了一个包含字体滚动框架的简单网页。字体会是不是的卡,慢。。。有什么解决方法吗?具体在:http://zhidao.zhaoxi.net/question/312463409.html原理都一样,都是一个无缝滚动的代码,并且你这一个还是向上滚动的。。。也会出现上述的闪烁,卡,慢的现象。。对不起,我用的是无缝滚动。。
答案:任何滚动都会闪烁的!这个没有办法解决!
其他:闪烁是绝对的,但是经过你的调速可以使闪烁看不出来,就你这个程序来讲,var speed1=30;这个speed1就是来控制速度的,把设置低一点就可以了,至于多少为最好,你试着递减一下就知道了。 要不你试试这个。
function $(element){
return document.getElementById(element);
}
var dome=$("dome");
var dome1=$("dome1");
var dome2=$("dome2");
var speed=50; //设置向上滚动速度
dome2.innerHTML=dome1.innerHTML //复制dome1为dome2
function moveTop(){
if(dome2.offsetTop-dome.scrollTop<=0) //当滚动至dome1与dome2交界时
dome.scrollTop-=dome1.offsetHeight //dome跳到最顶端
else{
dome.scrollTop++
}
}
var MyMar=setInterval(moveTop,speed) //设置定时器
dome.onmouseover=function() {clearInterval(MyMar)} //鼠标移上时清除定时器达到滚动停止的目的
dome.onmouseout=function() {MyMar=setInterval(moveTop,speed)} //鼠标移开时重设定时器,继续滚动 <div id="c_9">
   <marquee direction="left" TrueSpeed scrollamount="1" scrolldelay="30" onMouseOver="this.stop();" onMouseOut="this.start();">
   <img src="images/p_0/p_1.jpg" width="150" height="130" border="1" />
   <img src="images/p_0/p_2.jpg" width="150" height="130" border="1" />
   <img src="images/p_0/p_3.jpg" width="150" height="130" border="1" />   
   </marquee>
  </div> 
附:循环滚动基本语法 
<marquee> ... </marquee> 
移动属性的设置 ,这种移动不仅仅局限于文字,也可以应用于图片,表格等等

方向 
<direction=#> #=left, right ,up ,down <marquee direction=left>从右向左移!</marquee> 

方式 
<bihavior=#> #=scroll, slide, alternate <marquee behavior=scroll>一圈一圈绕着走!</marquee> 
<marquee behavior=slide>只走一次就歇了!</marquee> 
<marquee behavior=alternate>来回走</marquee> 

循环 
<loop=#> #=次数;若未指定则循环不止(infinite) <marquee loop=3 width=50% behavior=scroll>只走 3 趟</marquee> <P> 
<marquee loop=3 width=50% behavior=slide>只走 3 趟</marquee> 
<marquee loop=3 width=50% behavior=alternate>只走 3 趟!</marquee> 

速度 
<scrollamount=#> <marquee scrollamount=20>啦啦啦,我走得好快哟!</marquee> 

延时 
<scrolldelay=#> <marquee scrolldelay=500 scrollamount=100>啦啦啦,我走一步,停一停!</marquee> 

外观(Layout)设置 

对齐方式(Align) 
<align=#> #=top, middle, bottom <font size=6> 
<marquee align=# width=400>啦啦啦,我会移动耶!</marquee> 
</font> 

底色 
<bgcolor=#> #=rrggbb 16 进制数码,或者是下列预定义色彩: 
Black, Olive, Teal, Red, Blue, Maroon, Navy, Gray, Lime, 
Fuchsia, White, Green, Purple, Silver, Yellow, Aqua <marquee bgcolor=aaaaee>颜色!</marquee> 

面积 
<height=# width=#> <marquee height=40 width=50% bgcolor=aaeeaa>面积!</marquee> 

空白 
(Margins)<hspace=# vspace=#> 
<marquee hspace=20 vspace=20 width=150 bgcolor=ffaaaa align=middle>面积!</marquee>

 

上一个:javascript和LUA这两个脚本语言哪个强一些?
下一个:javascript中 var oEvent=ev||event

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,