Welcome to WebmasterWorld Guest from 54.196.244.206

Forum Moderators: open

Message Too Old, No Replies

STUMPER- changing screen width in slideshow

     
6:04 pm on Feb 6, 2013 (gmt 0)

Junior Member

joined:Oct 19, 2011
posts: 161
votes: 0


I'm using a modified version of dynamic drive's slideshow, but it uses a fixed width which is very annoying. I wanted to change it to utilize the screen width, but it doesn't seem to work. I tried using a var sw=screen.width and subbed out the variable, tried subbing it out on the write.ln, but that didn't work either.

<script type="text/javascript">

/***********************************************
* Conveyor belt slideshow script- Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at [dynamicdrive.com...] for full source code
***********************************************/


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

//Specify the slider's images
var leftrightslide=new Array()
var finalslide=''


leftrightslide[0]='<a href="#"><img src="test/1j.jpg" border=0></a>'
leftrightslide[1]='<a href="#"><img src="test/1b.jpg" border=0></a>'
leftrightslide[2]='<a href="#"><img src="test/1c.jpg" border=0></a>'
leftrightslide[3]='<a href="#"><img src="test/1e.jpg" border=0></a>'
leftrightslide[4]='<a href="#"><img src="test/1f.jpg" border=0></a>'
leftrightslide[5]='<a href="#"><img src="test/1g.jpg" border=0></a>'
leftrightslide[6]='<a href="#"><img src="test/1h.jpg" border=0></a>'


//Specify gap between each image (use HTML):
var imagegap=" "

//Specify pixels gap between each slideshow rotation (use integer):
var slideshowgap=2


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

var copyspeed=slidespeed
leftrightslide='<nobr>'+leftrightslide.join(imagegap)+'</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=''
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+slideshowgap+"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+slideshowgap
ns_slide2.document.write(leftrightslide)
ns_slide2.document.close()
}
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+slideshowgap+"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+slideshowgap+"px"

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

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


if (iedom||document.layers){
with (document){
document.write('<table border="0" cellspacing="0" cellpadding="0"><td>')
if (iedom){
write('<div style="position:relative;width:'+sliderwidth+';height:'+sliderheight+';overflow:hidden">')
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>

If anyone can help I'd appreciate it.
Thanks!
6:57 pm on Feb 6, 2013 (gmt 0)

Senior Member from US 

WebmasterWorld Senior Member fotiman is a WebmasterWorld Top Contributor of All Time 10+ Year Member Top Contributors Of The Month

joined:Oct 17, 2005
posts: 4965
votes: 10


Wow, that is some ugly code. Checking for document.layers? That's ancient. Using document.write... I would probably suggest scrapping this and finding a more current slideshow.
7:21 pm on Feb 6, 2013 (gmt 0)

Junior Member

joined:Oct 19, 2011
posts: 161
votes: 0


Unfortunately I have tried. I realize it's antiquated code, but most sliding images are the 'show image, show next image, click to see larger image' type of function and I'm looking for this kind of functionality.

Any further thoughts?
7:45 pm on Feb 6, 2013 (gmt 0)

Junior Member

joined:Oct 19, 2011
posts: 161
votes: 0


I got the answer. If anyone else is in my boat, then here is the updated code:
[dynamicdrive.com...]
It supports width:100%

Thanks All!