Results 1 to 3 of 3

Thread: understand Translucent scroller

  1. #1
    Join Date
    Jul 2008
    Posts
    34
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Default understand Translucent scroller

    1) Script Title: Translucent scroller

    2) Script URL (on DD): http://www.dynamicdrive.com/dynamici...centscroll.htm

    3) Describe problem:

    I am playing with Translucent scroller, and I want to modify it a little so that the div ID can be controllable: I can put any name for it. I go ahead, create a new variable var divid = "divid", var divhidden="divhidden" and then change the corresponding "canvas0" and "canvas1" value to divid and divhidden.
    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>translucent ticker</title>
    </head>
    <body>
    <script language="JavaScript1.2">
    
    //Translucent scroller- By Dynamic Drive
    //For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
    //This credit MUST stay intact for use
    
    // added variables
    var divid='divid'
    var divhidden='divhidden'
    
    var scroller_width='150px'
    var scroller_height='115px'
    var bgcolor='#E0EFD1'
    var pause=3000 //SET PAUSE BETWEEN SLIDE (3000=3 seconds)
    
    var scrollercontent=new Array()
    //Define scroller contents. Extend or contract array as needed
    scrollercontent[0]='Visit our partner site <a href="http://freewarejava.com">Freewarejava.com </a>for free Java applets!'
    scrollercontent[1]='Got JavaScript? <a href="http://www.javascriptkit.com">JavaScript Kit</a> is the most comprehensive JavaScript site online.'
    scrollercontent[2]='Link to Dynamic Drive on your site. Please visit our <a href="http://www.dynamicdrive.com/link.htm">links page</a>.'
    
    
    ////NO need to edit beyond here/////////////
    
    var ie4=document.all
    var dom=document.getElementById&&navigator.userAgent.indexOf("Opera")==-1
    
    if (ie4||dom)
    document.write('<div style="position:relative;width:'+scroller_width+';height:'+scroller_height+';overflow:hidden"><div id="'+divid+'" style="position:absolute;background-color:'+bgcolor+';width:'+scroller_width+';height:'+scroller_height+';top:'+scroller_height+';filter:alpha(opacity=20);-moz-opacity:0.2;"></div><div id="'+divhidden+'" style="position:absolute;background-color:'+bgcolor+';width:'+scroller_width+';height:'+scroller_height+';top:'+scroller_height+';filter:alpha(opacity=20);-moz-opacity:0.2;"></div></div>')
    else if (document.layers){
    document.write('<ilayer id=tickernsmain visibility=hide width='+scroller_width+' height='+scroller_height+' bgColor='+bgcolor+'><layer id=tickernssub width='+scroller_width+' height='+scroller_height+' left=0 top=0>'+scrollercontent[0]+'</layer></ilayer>')
    }
    
    var curpos=scroller_height*(1)
    var degree=10
    var curcanvas=divid
    var curindex=0
    var nextindex=1
    
    function moveslide(){
    if (curpos>0){
    curpos=Math.max(curpos-degree,0)
    tempobj.style.top=curpos+"px"
    }
    else{
    clearInterval(dropslide)
    if (crossobj.filters)
    crossobj.filters.alpha.opacity=100
    else if (crossobj.style.MozOpacity)
    crossobj.style.MozOpacity=1
    nextcanvas=(curcanvas==divid)? divid : divhidden
    tempobj=ie4? eval("document.all."+nextcanvas) : document.getElementById(nextcanvas)
    tempobj.innerHTML=scrollercontent[curindex]
    nextindex=(nextindex<scrollercontent.length-1)? nextindex+1 : 0
    setTimeout("rotateslide()",pause)
    }
    }
    
    function rotateslide(){
    if (ie4||dom){
    resetit(curcanvas)
    crossobj=tempobj=ie4? eval("document.all."+curcanvas) : document.getElementById(curcanvas)
    crossobj.style.zIndex++
    if (crossobj.filters)
    document.all.divid.filters.alpha.opacity=document.all.divhidden.filters.alpha.opacity=20
    else if (crossobj.style.MozOpacity)
    document.getElementById(divid).style.MozOpacity=document.getElementById(divhidden).style.MozOpacity=0.2
    var temp='setInterval("moveslide()",50)'
    dropslide=eval(temp)
    curcanvas=(curcanvas==divid)? divhidden : divid
    }
    else if (document.layers){
    crossobj.document.write(scrollercontent[curindex])
    crossobj.document.close()
    }
    curindex=(curindex<scrollercontent.length-1)? curindex+1 : 0
    }
    
    function resetit(what){
    curpos=parseInt(scroller_height)*(1)
    var crossobj=ie4? eval("document.all."+what) : document.getElementById(what)
    crossobj.style.top=curpos+"px"
    }
    
    function startit(){
    crossobj=ie4? eval("document.all."+curcanvas) : dom? document.getElementById(curcanvas) : document.tickernsmain.document.tickernssub
    if (ie4||dom){
    crossobj.innerHTML=scrollercontent[curindex]
    rotateslide()
    }
    else{
    document.tickernsmain.visibility='show'
    curindex++
    setInterval("rotateslide()",pause)
    }
    }
    
    if (ie4||dom||document.layers)
    window.onload=startit
    
    </script>
    </body>
    </html>
    So far, the code works when I tried with FF3, Safari3, IE7. I do not have older browsers to test whether it still works or not. One thing I am not sure when making modification the code, is the line marked red. Originally the line contains the name of the div, and I modified it with the variables. Did I do it right? If not, what should I have changed to?

    Thanks,

    D.

  2. #2
    Join Date
    Aug 2004
    Posts
    10,143
    Thanks
    3
    Thanked 1,008 Times in 993 Posts
    Blog Entries
    16

    Default

    The line in red is incorrect, it should be:
    Code:
    document.all[divid].filters.alpha.opacity=document.all[divhidden].filters.alpha.opacity=20
    With that change script works for me in IE7 and FF3.

  3. #3
    Join Date
    Jul 2008
    Posts
    34
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Default

    Ah, got it now. Thanks ddadmin.

    D.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •