如何实现图片不间断的滚动啊?
我想通过 Marquee 实现图片不间断的循环滚动,中间不会出现空白<BR>有没有比较简单容易实现的代码啊? 这个好象只能用JS来完成 <P>参考代码:<BR><BR>————————————————————————————————————————<BR><BR><style type="text/css"></P><P>.gradualshine{<BR>filter:alpha(opacity=30);<BR>-moz-opacity:0.3;<BR>}</P>
<P></style></P>
<P><script type="text/javascript"><BR>var baseopacity=30</P>
<P>function slowhigh(which2){<BR>imgobj=which2<BR>browserdetect=which2.filters? "ie" : typeof which2.style.MozOpacity=="string"? "mozilla" : ""<BR>instantset(baseopacity)<BR>highlighting=setInterval("gradualfade(imgobj)",50)<BR>}</P>
<P>function slowlow(which2){<BR>cleartimer()<BR>instantset(baseopacity)<BR>}</P>
<P>function instantset(degree){<BR>if (browserdetect=="mozilla")<BR>imgobj.style.MozOpacity=degree/100<BR>else if (browserdetect=="ie")<BR>imgobj.filters.alpha.opacity=degree<BR>}</P>
<P>function cleartimer(){<BR>if (window.highlighting) clearInterval(highlighting)<BR>}</P>
<P>function gradualfade(cur2){<BR>if (browserdetect=="mozilla" && cur2.style.MozOpacity<1)<BR>cur2.style.MozOpacity=Math.min(parseFloat(cur2.style.MozOpacity)+0.1, 0.99)<BR>else if (browserdetect=="ie" && cur2.filters.alpha.opacity<100)<BR>cur2.filters.alpha.opacity+=10<BR>else if (window.highlighting)<BR>clearInterval(highlighting)<BR>}</P>
<P></script><BR><DIV id=demo style="OVERFLOW: hidden; WIDTH:580px; HEIGHT:80px"><BR> <TABLE cellSpacing=0 cellPadding=0 border=0><BR> <BR> <TBODY><BR> <TR><BR> <TD id=demo1><BR> <TABLE cellSpacing=0 cellPadding=3 ><BR> <TBODY><BR> <TR vAlign=top align=left width="360"> <BR> <TD><IMG height=80 src="images/photo1.jpg" width=120 <BR> border=0></TD><BR> <TD><IMG height=80 src="images/photo2.jpg" width=120 <BR> border=0></TD><BR> <TD><IMG height=80 src="images/photo3.jpg" width=120 <BR> border=0></TD><BR> <TD><IMG height=80 src="images/photo4.jpg" width=120 <BR> border=0></TD><BR> <TD><IMG height=80 src="images/photo5.jpg" width=120 <BR> border=0></TD><BR> <TD><IMG height=80 src="images/photo6.jpg" width=120 <BR> border=0></TD><BR> <TD><IMG height=80 src="images/photo7.jpg" width=120 <BR> border=0></TD><BR> <TD><IMG height=80 src="images/photo8.jpg" width=120 <BR> border=0></TD><BR> <TD><IMG height=80 src="images/photo9.jpg" width=120 <BR> border=0></TD><BR> <TD><IMG height=80 src="images/photo10.jpg" width=120 <BR> border=0></TD><BR> </TR></TBODY></TABLE></TD><BR> <TD id=demo2></TD></TR></TBODY><BR> </TABLE><BR></DIV><BR><SCRIPT><BR>var speed=20</P>
<P>demo2.innerHTML=demo1.innerHTML</P>
<P>function Marquee(){</P>
<P>if(demo2.offsetWidth-demo.scrollLeft<=0)</P>
<P> demo.scrollLeft-=demo1.offsetWidth</P>
<P>else{</P>
<P> demo.scrollLeft++ <BR>} </P>
<P>}</P>
<P>var MyMar=setInterval(Marquee,speed)</P>
<P>demo.onmouseover=function(){clearInterval(MyMar)}</P>
<P>demo.onmouseout=function(){MyMar=setInterval(Marquee,speed)}<BR></SCRIPT></P> 怎么改变运行框的大小啊,还有就是点击察看大图怎么做呢? <DIV class=quote><B>以下是引用<U>威龙嘉少</U>在2007-10-21 18:13:30的发言:</B><BR>怎么改变运行框的大小啊,还有就是点击察看大图怎么做呢?</DIV>
<p>搜索lightbox 这些还在写出来……,真是要把所有的代码全部写好![em03] <P>怎么发现把上面比较长的一段<script type="text/javascript">....</SCRIPT><BR>的代码去掉也会实现同样效果,没有影响啊?<BR></P> [em09] <P>我在网上找的,大家借鉴一下吧!!!!<BR><BR><BR><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <BR> "<a href="http://www.w3.org/TR/html4/loose.dtd" target="_blank" >http://www.w3.org/TR/html4/loose.dtd</A>"> <BR> <html> <BR> <head> <BR> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <BR> <title>无标题文档</title> <BR> </head> <BR> <BR> <body> <BR> <div id="marquees"> <!-- 这些是字幕的内容,你可以任意定义 --> <BR> <a href=""><img src=" " style="width:120px;height:120px;border:0px;" alt="test"/></a> <BR> <a href=""><img src=" " style="width:120px;height:120px;border:0px;" alt="test"/></a><BR> <a href=""><img src=" " style="width:120px;height:120px;border:0px;" alt="test"/></a><BR> <a href=""><img src=" " style="width:120px;height:120px;border:0px;" alt="test"/></a> <BR> <!-- 字幕内容结束 --> <BR> </div> <BR> <!-- 以下是java-scrīpt代码 --> <BR> <scrīpt language="javascrīpt"> <BR> <!-- <BR> marqueesWidth=480; //内容区宽度度 <BR> stopscroll=false; //这个变量控制是否停止滚动 <BR> with(marquees){ <BR> noWrap=true; //这句表内容区不自动换行 <BR> style.width=marqueesWidth; //于是我们可以将它的宽度设为0,因为它会被撑大 <BR> style.height=0; <BR> <BR> style.overflowX="hidden"; //滚动条不可见 <BR> onmouseover=new Function("stopscroll=true"); //鼠标经过,停止滚动 <BR> onmouseout=new Function("stopscroll=false"); //鼠标离开,开始滚动 <BR> } <BR> //这时候,内容区的高度是无法读取了。下面输出一个不可见的层"templayer",稍后将内容复制到里面: <BR> document.write('<div id="templayer"style="position:absolute;z-index:1;visibility:hidden"></div>'); <BR> <BR> function init(){ //初始化滚动内容 <BR> while(templayer.offsetWidth<marqueesWidth){ <BR> templayer.innerHTML+=marquees.innerHTML; <BR> } //把"templayer"的内容的“两倍”复制回原内容区: <BR> marquees.innerHTML=templayer.innerHTML+templayer.innerHTML; <BR> //设置连续超时,调用"scrollUp()"函数驱动滚动条: <BR> setInterval("scrollUp()",20); <BR> } <BR> document.body.onload=init; <BR> preTop=0; //这个变量用于判断滚动条是否已经到了尽头 <BR> function scrollUp(){ //滚动条的驱动函数 <BR> if(stopscroll==true) return; //如果变量"stopscroll"为真,则停止滚动 <BR> preTop=marquees.scrollLeft; <BR> marquees.scrollLeft+=1; <BR> //如果滚动条不动了,则向上滚动到和当前画面一样的位置 <BR> //当然不仅如此,同样还要向下滚动一个像素(+1): <BR> if(preTop==marquees.scrollLeft){ <BR> marquees.scrollLeft=templayer.offsetHeight-marqueesWidth+1; <BR> } <BR> } <BR> --> <BR> </scrīpt> <BR> <BR> </body> <BR> </html> </P>
试一试先!
[em01]页:
[1]
