problem with JS image scroller on Safari & IE 5

Discussion in 'Web Design and Development (archive)' started by macless, Feb 25, 2004.

  1. macrumors newbie

    Joined:
    Feb 25, 2004
    #1
    Hello,
    i have a thumbnail scroller in javascript (1.2) that works fine (on PC and on Mac OSX Safari and IE 5) when i have 4 or 5 thumbnails loaded in, but when there are more than 7 or 8, it starts to do really strange stuff, (the scroller stops moving, an image doesn't appear, etc).

    Is it a preload thing or a version thing maybe ?

    I'd love any help possible on this.

    the page where i'm having trouble can be found by going to http://66.241.249.133/indexpop.cfm, entering the site, and selecting "Eye Candy".


    Here's the code:

    <script language="JavaScript1.2">

    //Specify the slider's width (in pixels)
    var sliderwidth="730px"
    //Specify the slider's height
    var sliderheight="75px"
    //Specify the slider's slide speed (larger is faster 1-10)
    var slidespeed=2
    //configure background color:
    slidebgcolor="#ffffff"

    //Specify the slider's images example: leftrightslide[0]='<a href="http://"><img src="dynamicbook1.gif" border=1></a>'
    //leftrightslide[]='<a href="http://www.imagegallery.cfm" target="iframe"><img src="" border=0></a>'

    var leftrightslide=new Array()
    var finalslide='.'
    <cfoutput query="getimages">
    <cfset index = CurrentRow - 1>
    leftrightslide[#index#]='<a href="imagegallery.cfm?zimgid=#itemid#" target="iframe"><img src="itemimages/thumbs/#itemthumb#" border="0"></a><img src="graphics/spot.gif" width="10">'
    </cfoutput>


    ////NO NEED TO EDIT BELOW THIS LINE////////////

    var copyspeed=slidespeed
    leftrightslide='<nobr>'+leftrightslide.join(" ")+'</nobr>'
    var iedom=document.all||document.getElementById
    if (iedom)
    document.write('<span id="temp" style="visibility:hidden;position:absolute;top:-100px;left:-9000px">'+leftrightslide+'</span>')
    var actualwidth='100'
    var cross_slide, ns_slide

    function fillup(){
    if (iedom){
    cross_slide=document.getElementById? document.getElementById("test2") : document.all.test2
    cross_slide2=document.getElementById? document.getElementById("test3") : document.all.test3
    cross_slide.innerHTML=cross_slide2.innerHTML=leftrightslide
    actualwidth=document.all? cross_slide.offsetWidth : document.getElementById("temp").offsetWidth
    cross_slide2.style.left=actualwidth+34+"px"
    }
    else if (document.layers){
    ns_slide=document.ns_slidemenu.document.ns_slidemenu2
    ns_slide2=document.ns_slidemenu.document.ns_slidemenu3
    ns_slide.document.write(leftrightslide)
    ns_slide.document.close()
    actualwidth=ns_slide.document.width
    ns_slide2.left=actualwidth+34
    ns_slide2.document.write(leftrightslide)
    ns_slide2.document.close()
    } ///This is the speed ////
    lefttime=setInterval("slideleft()",30)
    }
    window.onload=fillup

    function slideleft(){
    if (iedom){
    if (parseInt(cross_slide.style.left)>(actualwidth*(-1)+8))
    cross_slide.style.left=parseInt(cross_slide.style.left)-copyspeed+"px"
    else
    cross_slide.style.left=parseInt(cross_slide2.style.left)+actualwidth+4+"px"

    if (parseInt(cross_slide2.style.left)>(actualwidth*(-1)+8))
    cross_slide2.style.left=parseInt(cross_slide2.style.left)-copyspeed+"px"
    else
    cross_slide2.style.left=parseInt(cross_slide.style.left)+actualwidth+4+"px"

    }
    else if (document.layers){
    if (ns_slide.left>(actualwidth*(-1)+8))
    ns_slide.left-=copyspeed
    else
    ns_slide.left=ns_slide2.left+actualwidth+20

    if (ns_slide2.left>(actualwidth*(-1)+8))
    ns_slide2.left-=copyspeed
    else
    ns_slide2.left=ns_slide.left+actualwidth+20
    }
    }


    if (iedom||document.layers){
    with (document){
    document.write('<table border="0" cellspacing="0" cellpadding="4"><td>')
    if (iedom){
    write('<div style="position:relative;width:'+sliderwidth+';height:'+sliderheight+';overflow:hidde n">')
    write('<div style="position:absolute;width:'+sliderwidth+';height:'+sliderheight+';background-color:'+slidebgcolor+'" onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed">')
    write('<div id="test2" style="position:absolute;left:0px;top:0px"></div>')
    write('<div id="test3" style="position:absolute;left:-1000px;top:0px"></div>')
    write('</div></div>')
    }
    else if (document.layers){
    write('<ilayer width='+sliderwidth+' height='+sliderheight+' name="ns_slidemenu" bgColor='+slidebgcolor+'>')
    write('<layer name="ns_slidemenu2" left=0 top=0 onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed"></layer>')
    write('<layer name="ns_slidemenu3" left=0 top=0 onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed"></layer>')
    write('</ilayer>')
    }
    document.write('</td></table>')
    }
    }
    </script>
     

Share This Page