PDA

View Full Version : Conveyor Belt Image Map



McBain
03-05-2006, 04:19 PM
Hi,

I was playing around with the conveyor belt script

http://www.dynamicdrive.com/dynamicindex14/leftrightslide.htm

trying to get an image with an image map to go on the conveyor belt. It worked so when I hold the mouse cursor over the place where the image map is it pauses like it should. That is, it pauses using Internet Explorer, if I use any other browser the image will not pause.:confused:

Here is what I have.

<map name="map">
<area shape="rect" coords="374,298,412,337" href="http://www.google.com" target="_blank" alt="" >
</map>

leftrightslide[0]='<a href="http://"><img src="image1.jpg" border=1 usemap="#map"></a>'
leftrightslide[1]='<a href="http://"><img src="image1.jpg" border=1 usemap="#map"></a>'
leftrightslide[2]='<a href="http://"><img src="image1.jpg" border=1 usemap="#map"></a>'

If anybody can help, I'd really appreciate it.

Thanks. :)

jscheuer1
03-05-2006, 05:36 PM
Image maps and scripts can be tricky. To troubleshoot something like that would require the full page code, just to be on the safe side:

PLEASE: Include the URL to your problematic webpage that you want help with.

McBain
03-06-2006, 03:39 PM
http://www.dynamicdrive.com/dynamicindex14/leftrightslide.htm

Here is the full page code

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Web Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<p>
<map name="m_map">
<area shape="rect" coords="374,298,412,337" href="http://www.google.com" target="_blank" alt="" >
</map>
</p>
</head>
<body bgcolor="#FFFFFF">
<p>
<script type="text/javascript">

/***********************************************
* Conveyor belt slideshow script- &copy; 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
***********************************************/


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

//Specify the slider's images
var leftrightslide=new Array()
var finalslide=''
leftrightslide[0]='<a href="http://"><img src="pics/image1.jpg" border=1 usemap="#m_map"></a>'
leftrightslide[1]='<a href="http://"><img src="pics/image1.jpg" border=1 usemap="#m_map"></a>'
leftrightslide[2]='<a href="http://"><img src="pics/image1.jpg" border=1 usemap="#m_map"></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=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" usemap="#m_map" left=0 top=0 onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed"></layer>')
write('<layer name="ns_slidemenu3" usemap="#m_map" left=0 top=0 onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed"></layer>')
write('</ilayer>')
}
document.write('</td></table>')
}
}
</script>
</p>
<p></p>
<p>&nbsp;</p>
</body>
</html>

jscheuer1
03-06-2006, 04:38 PM
Without the image, it pauses just fine in both IE and FF. This leads me to believe that the onmouseover/out pause event should be assigned to the area tag and that a default area tag should also be used with this onmouseover/out event attached:


<map name="m_map">
<area shape="rect" coords="374,298,412,337" href="http://www.google.com" target="_blank" alt="" onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed">
<area shape="default" title="" nohref onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed">
</map>

Worth a shot. Also, giving the images dimensions might help.

McBain
03-06-2006, 04:58 PM
Thanks a million. I knew it had to be something simple.

jscheuer1
03-06-2006, 05:11 PM
Just some more advice, I tested this out, as I was curious and I found that:

leftrightslide[0]='<a href="http://"><img src="lois_images/john/email_p_o.jpg" border=1 usemap="#m_map"></a>'

the red parts are not needed and the status bar reacts better without them and the cursor over the image map is default (arrow) when not over a link in IE, both desirable things, I would imagine.