Home  >  Article  >  Web Front-end  >  Using JavaScript to achieve news scrolling effect (example code)_javascript skills

Using JavaScript to achieve news scrolling effect (example code)_javascript skills

WBOY
WBOYOriginal
2016-05-16 17:12:241114browse

I recently wanted to implement a rolling news effect. I checked some information on the Internet and found that there are two basic implementation methods:

1. Use Marquee tags. I have reprinted a relatively detailed article on the use of this tag. The advantage of this tag is that it is easy to use. The disadvantage is that people have gradually stopped using it. Many browsers do not support it, even in IE8, XHTML4.0's loose.dtd is OK, but removing loose.dtd is not.

2. Use div javascript method. The advantage of this method is that it is compatible with almost all browsers and can still run stably within a foreseeable time. And using div allows web pages to use existing css resources to achieve many dazzling effects. The disadvantage is that it requires certain programming experience and patience.

The basic principle of using javascript div is the same. Use the scrollTop attribute and offsettheight attribute to achieve the moving effect. Generally, two divs are used, the content inside is the same, and then the two divs are spliced ​​to form a continuous loop effect. Below are two sample codes I found. The first one is exactly what I used and it works. I didn't test the second one. I am writing this for comparison. The second copy should be usable because I took it from the website.

First code

Copy code The code is as follows:


           

                <%
ArrayList announceList = DBTools.getView("select * from sys_announce order by pubdate DESC");
for (int i = 1; i < announceList.size() && i < 5; i++) {
String announceArr[] = (String[]) announceList.get(i);
String content = announceArr[1];
String date = announceArr[2].substring(announceArr[2].indexOf("-")+1, announceArr[2].indexOf(" "));
%>
                   
                       
                           
                   

                       

                   
                       
                           
                           
                           
                       
                   

                               
                           

                                <%=content%>  <%=date%>
                           

                <%
}
%>
           

           

                                                                                     iFrame = 1; // Define the pixels moved in each frame.
var iFrequency = 50; // Define the frame frequency.
var timer; // Define the time handle. layer2").offsetHeight >= layerHeight)
document.getElementById("layer1").style.height = layerHeight; . getElementById ("layer2").offsetHeight; innerHTML);
function move(){
if(document.getElementById("layer1").scrollTop >= document.getElementById("layer2").offsetHeight){
document .getElementById("layer1 ").scrollTop -= (document.getElementById("layer2").offsetHeight - iFrame);
                                                                                                                                                 rollTop = iFrame;
                                              
         }
          timer = setInterval("move()",iFrequency); document.getElementById ("layer1").onmouseout=function() {timer=setInterval("move()",iFrequency);}

// -->


Second code




Copy code


The code is as follows:

 
        <SCRIPT><br>            var timer;<br><br>            document.write('<div id="icefable1" style="width:136;">'<br>                +'<table width=130; border=0 cellspacing=0 cellpadding=0>'<br>                +'<tr><td width=130; height=120 style="padding-top:2px" mce_style="padding-top:2px" valign=top>'+strArray[1]+'</td></tr>'<br>                +'<tr><td width=130; height=120 style="padding-top:2px" mce_style="padding-top:2px" valign=top>'+strArray[0]+'</td></tr>'<br>                +'</table>'<br>                +'</div>'<br>                +'<div id="icefable2" style="position:absolute;visibility:hidden" mce_style="position:absolute;visibility:hidden"></div>');<br>            /*<br>            var marqueesHeight=132;<br>            var stopscroll=false;<br>            icefable1.scrollTop=0;<br>            */<br>            with(icefable1){<br>                /*<br>                style.width=0;<br>                style.height=marqueesHeight;<br>                style.overflowX="visible";<br>                style.overflowY="hidden";<br>                noWrap=true;<br>                */<br>                onmouseover=function(){clearInterval(timer);};<br>                onmouseout=function(){timer = setInterval("move()",100);};<br>            }<br>            /*<br>            var preTop=0;<br>            var currentTop=0;<br>            var stoptime=0;<br>             */<br>            function init_srolltext(){<br>                icefable2.innerHTML="";<br>                icefable2.innerHTML =icefable1.innerHTML;<br>                icefable1.innerHTML=icefable2.innerHTML icefable2.innerHTML;<br>                timer = setInterval("move()",100);<br>            }<br>            function move(){<br>                 if(document.getElementById("icefable2").scrollTop >= document.getElementById("icefable1").offsetHeight)<br>                     document.getElementById("icefable2").scrollTop -= (document.getElementById("icefable1").offsetHeight - 1);<br>                 else<br>                     ocument.getElementById("icefable2").scrollTop = 1;<br>            }<br>            init_srolltext();<br><br>            function scrollUp(){<br>                if(stopscroll==true) return;<br>                currentTop =4;<br>                if(currentTop==132)<br>                {<br>                    stoptime =4;<br>                    currentTop-=0;<br>                }<br>                else {<br>                    preTop=icefable1.scrollTop;<br>                    icefable1.scrollTop =4;<br>                    if(preTop==icefable1.scrollTop){<br>                        icefable1.scrollTop=icefable2.offsetHeight-marqueesHeight;<br>                        icefable1.scrollTop =4;<br>                    }<br>                }<br>            }<br>            //setTimeout("init_srolltext()",2000);<br>            //init_srolltext();<br>        </SCRIPT>

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn