PDA

View Full Version : customising conveyor belt slideshow for rotating navigation



abna
02-27-2005, 04:57 PM
Script: Conveyor Belt slideshow script
http://www.dynamicdrive.com/dynamicindex14/leftrightslide.htm

Hi...
I thought this script might be an interesting alternative to using a flash slide show style graphic navigation (the type where the navigation scrolls to the left or right depending on the position of the pointer over the image) but there are a couple of additions I am having trouble working into this script to customise it in the way I would like.

Does anyone know of a way to add a 'left' and 'right' button to this script that would allow the scrolling to change direction (and maybe also scroll faster in the required direction) when a left/right button image on the page is rolled over?

The sort of effect I am looking for would be the type of control that is available if using the 'Scrollable content II' script (http://www.dynamicdrive.com/dynamicindex11/scrollc2.htm) but with the page that is scrolled to keep on rotating infinatly (i.e. not having a begining or end to the scroll).

I hope this makes sense to someone :)

Cheers.

Abna

ragnew
01-28-2006, 09:10 PM
Did anyone ever get this to work or did anyone get left to right scrolling to work?

Rich

jscheuer1
01-28-2006, 09:59 PM
I made this version, it is probably in the archives as well:


<html>
<head>
<title>Conveyor Belt Left or Right Slideshow w/optional Reverse - Demo</title>
</head>
<body>
<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 http://www.dynamicdrive.com/ for full source code
* Modified for left or right direction w/optional reverse button
* by jscheuer1 in http://www.dynamicdrive.com/forums
***********************************************/


//Specify the slider's width (in pixels)
var sliderwidth="300px"
//Specify the slider's height
var sliderheight="225px"
//Specify the slider's slide speed (larger is faster 1-10)
var slidespeed=3
//Specify the slider's direction 0 for left 1 for right
var slideDirect=1
//Allow reverse? 0 for no 1 for yes
var allowReverse=1
//configure background color:
slidebgcolor="#EAEAEA"

//Specify the slider's images
var leftrightslide=new Array()
var finalslide=''
leftrightslide[0]='<a href="http://"><img src="../thumb2/photo1.jpg" border=1></a>'
leftrightslide[1]='<a href="http://"><img src="../thumb2/photo2.jpg" border=1></a>'
leftrightslide[2]='<a href="http://"><img src="../thumb2/photo3.jpg" border=1></a>'
leftrightslide[3]='<a href="http://"><img src="../thumb2/photo4.jpg" border=1></a>'
leftrightslide[4]='<a href="http://"><img src="../thumb2/photo5.jpg" border=1></a>'

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

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


////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=slideDirect? setInterval("slideright()",30) : setInterval("slideleft()",30)
}
window.onload=fillup

function slideright(){
if (iedom){
if (parseInt(cross_slide.style.left)<(actualwidth+8))
cross_slide.style.left=parseInt(cross_slide.style.left)+copyspeed+"px"
else
cross_slide.style.left=parseInt(cross_slide2.style.left)+(actualwidth+slideshowgap)*(-1)+"px"

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

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

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

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"><tr><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>')
}
if (allowReverse&&!document.layers){
write('</td></tr><tr><td align="center"><br>')
document.write('<input type="button" value="Reverse" onclick="reverseSlide()">')
}
document.write('</td></tr></table>')
}
}

function reverseSlide(){
clearInterval(lefttime)
slideDirect=slideDirect? 0 : 1
lefttime=slideDirect? setInterval("slideright()",30) : setInterval("slideleft()",30)
}
</script>
<p align="center"><font face="Arial" size="-2">Free DHTML scripts provided by<br>
<a href="http://dynamicdrive.com">Dynamic Drive</a></font></p>
</body>
</html>

ragnew
01-29-2006, 04:04 AM
Thanks, that is perfect.

Rich

bennyy
10-23-2006, 12:14 PM
If its all possible I need this to go left and right

jscheuer1
10-25-2006, 05:05 AM
It does.

shashirbabu
03-22-2010, 11:31 AM
can i stop the function rotation for a momemt and then continue the rotation in conveyor belt image slider if so please help to do so i wanted the image sliding to stop for a while after completing all the images