HTML - Mapped Mouseovers Won't Switch Image.
I'm brand new to writing script but my boss wants me to make this work.
In the main image the water tank, pump manifold and the small pump above the tank should change into the different image when mouseovered. This is what I've come up with. ------------------------ <html> <head> <SCRIPT LANGUAGE="javascript"> <!--PRELOAD IMAGES> Original = new Image(800,542) Original.src = "http://fulfordsupply.com/frameset/images/BoilerRoom/Original.jpg.) Tank = new Image(800,542) Tank.src = "http://fulfordsupply.com/frameset/images/BoilerRoom/Tank.jpg" Pump = new Image(800,542) Pump.src = "http://fulfordsupply.com/frameset/images/BoilerRoom/Pump.jpg" Station = new Image(800,542) Station.src = "http://fulfordsupply.com/frameset/images/BoilerRoom/Station.jpg" </script> </head> <IMG NAME="Original" SRC="http://fulfordsupply.com/frameset/images/BoilerRoom/Original.jpg" USEMAP="#BoilerRoom"> <script language = javascript> <!--FUNCTIONS> <script language="javascript"> function zoomtank() { document.Original.src = Tank.src; return true; } function zoompumpstation() { document.Original.src = Station.src; return true; } function zoompump() { document.Original.src = Pump.src; return true; } function original() { document.Original.src = Original.src; return true; } </script> <!--THE MAP> <MAP NAME="BoilerRoom"> <AREA SHAPE="rect" ALT="Tank" COORDS="545,200,745,500" HREF=tank.jpg onMouseOver="zoomtank()" on MouseOut="original()"> <AREA SHAPE="rect" ALT="PumpStation" COORDS="258,207,370,345" HREF="Station.jpg" onMouseOver="zoompumpstation()" on MouseOut="original()"> <AREA SHAPE="rect" ALT="Pump" COORDS= "710,55,780,130" HREF="pump.jpg" onMouseOver="zoompump()" on MouseOut="original()"> </MAP> </html> ------------------ I've tried running it through the tryit editor @ http://www.w3schools.com/html/tryit....=tryhtml_basic but all i'm getting is the main image. The maps all work and i'm gonna fix the links eventually but I cannot for the life of me get my commands to work. I've been working on this is 9am (its 530 here now) so this is the last avenue I can think of for help. If someone could give me a helping hand I'd really appreciate it! Similar TutorialsHi Guys, I have an online store selling furniture and at the moment I have a simple GIF that cycles through images on my homepage. I have it image mapped so that when you click on any of the pictures in the moving GIF, it redirects the person to my 'all products' page. However, what I would like it to do is when you click on the 'cushions' slide for example it takes you to the 'cushions' page and when you click on the 'beds' slide it takes you to the 'bed' page. Is this possible? Heres a link to it so you can see what i'm talking about http://www.stylechicinteriors.com Thank you so much in advance, this has been driving me crazy! Tegan Yes i was woundering how, can someone tell me? thanks. i wanted to change the color of the outside blue caused by the hyperlink and i am having trouble. i wanted it to be only for THIS and not the rest of the page. thank you in advance! <img src="http://i702.photobucket.com/albums/ww26/Fine-TuneXP/navbarfullcopy.jpg" class="greenlink" width="804" height="15" usemap="#planetmap"> <map id="planetmap" name="planetmap"> <area shape="rect" coords="0,0,50,28" alt="Home" href="http://fine-tunexp.webs.com/index.htm" class="greenlink"> <area shape="rect" coords="56,0,147,28" alt="Downloads" href="http://fine-tunexp.webs.com/Downloads.htm" class="greenlink"> <area shape="rect" coords="155,0,217,28" alt="Venus" href="http://fine-tunexp.webs.com/Tweaks.htm" class="greenlink"> <area shape="rect" coords="225,0,360,28" alt="Venus" href="http://fine-tunexp.webs.com/requests.htm" class="greenlink"> </map> EDIT: i was looking around and i saw something interesting, i cant figure out how to use it in my code but, <style type="text/css"> a:link { color:#f00; } #footerlink { color:#000; } </style> Okay, here's the gist of it.. My site is a guitar, and each fret is a link. There's about 12. I did this using imagemapping. Now I have a blank transparent banner sitting on the site of my page. I have 12 banners with each of my site's sub-pages titles on them. They are all the same size as the blank banner. Now I want it so whenever you mouseover one of the frets, the banner shows up where the blank one is for whatever page that fret takes you to. How exactly do I do this? Is it even possible? Thanks. Firstly, please forgive me for explaining this poorly or if it isn't even a matter of html. I want to make a very simple on/off switch to put on my site which any visitor can click on or off. Just some visual representation of on or off - a lightswitch, a red and green button, etc. It'll have no other function than being on or off. I know how to build an image that would do this. What I don't know is how to make it reflect the true on or off position that somebody most recently switched it to. As I know how to build it, it would simply load to its default position as the visitor's page loads. I want people to be able to visit and see that the light is either on or off. If this makes sense to anyone, any suggestions how I might do it? Thanks! How do I switch between iframes within a page? Example: link1 | link2 | link3 |----------------------| |----------------------| |-------iframe--------| |----------------------| |----------------------| I want the iframe to chage when I click the different links, is this possible? Looking for the cleanest way to enable the following: I have 2 forms on 1 page. The user has to choose which one is best for them. Upon selection(based on product they purchased) they then get the approriate form. I have the forms built, but Im not sure on the best route for the switch. DHTML? Thanks, Mac I found this script that I found very interesting and would probably be very helpful to me, but I have little idea on how to use it. Could someone break it down for me and explain how I can use it on my website? The code can be found here the 8th post down by Bill Posters. Thank you very much. Ello I'm a complete newb so sorry if I'm posting in the wrong place guys. Could anybody out there help me make a field / box like the one on this site. http://www.laptopsdirect.co.uk/Acer_...62/version.asp Below the laptop is a large field, if you click things like "technical specification" etc, it changes only that field. Then if you press the back button it backs up to the last page, rather than the last configuration of the current page. Phew.. confusing myself now lol. Anyhoo, just want to know how I would make such a box, with tabs that change that box only? Thanx Sarah Hi board members I trust I have posted in the correct forum... I've just coded an excel speadsheet for all my videos. I have created hyperlinks to each file. I'm wondering if there is a switch to add to the end of the hyperlink to force the media player the open in full screen? Any help would be appreciated. Cheers, Mal Hi all -- I'm having an interesting problem. I'm designing a web page that has a navigation banner (home - programs - schedule of events - contact us - downloads) that is made up of a .png for each page (i.e. home.png, programs.png, etc). My page is 1000px wide and all of the navigation banner's images add up to 1000px wide. I'm using JavaScript to create an onMouseOver and onMouseOut effect on each of the images. The problem that I'm having occurs when I tried to add a link (either by <A HREF= or using an image map). Whenever I add a link to the image, a small (3px) area of white space shows up to the right of the image. This shifts all of my other images 3px to the right (and 3 more for each link I add to subsequent images) thus making the total width of the navigation banner over 1000px and the last image gets shoved to a new line. I can find no way to get rid of this white space other than to remove the link from the image. There is no property on the page that adds any sort of padding, margins, or borders to images or links, so I can see no property that has to be changed. Help! How do I get rid of this white space but still keep the link on the image?? [I posted this question on the Adobe forum to no avail, below is a screencap I took of the issue I'm having] Thanks in advance! //kl PS - I am using both IE8 and Chrome to view this webpage. I've set all the margins/padding/borders to 0px. Here is my CSS and the part of the code that pertains to the navigation banner. CSS: Code: <style type="text/css"> <!-- body { font: 100% Verdana, Arial, Helvetica, sans-serif; background: #666666; margin: 0; /* it's good practice to zero the margin and padding of the body element to account for differing browser defaults */ padding: 0; text-align: center; /* this centers the container in IE 5* browsers. The text is then set to the left aligned default in the #container selector */ color: #000000; background-image: url(images/blue.bg.png); background-repeat: repeat; background-color: #009; } .oneColFixCtr #container { width: 1000px; /* using 20px less than a full 800px width allows for browser chrome and avoids a horizontal scroll bar */ background: #FFFFFF; margin: 0 auto; /* the auto margins (in conjunction with a width) center the page */ border: 0px solid #000000; text-align: left; /* this overrides the text-align: center on the body element. */ } .oneColFixCtr #mainContent { padding: 0 20px; /* remember that padding is the space inside the div box and margin is the space outside the div box */ } body, td, th { color: #333; } #main_banner2 { margin: 0px; padding: 0px; height: auto; width: 1000px; } --> </style> </head> Nav Banner: NOTE:: below HAS to be all one paragraph because if i insert a carriage return in between images, it also adds the white space... Code: <body class="oneColFixCtr"> <!-- MAIN NAVIGATION BANNER --> <!--HOME--><img src="images/nav/home.png" alt="home" name="home" width="82" height="30" border="0" onMouseOver="document.images.home.src='images/nav/home_over.png'" onMouseOut ="document.images.home.src='images/nav/home.png'"/><!--PROGRAMS--><img src="images/nav/programs.png" width="111" height="30" border="0" name="programs" onMouseOver="document.images.programs.src='images/nav/programs_over.png'" onMouseOut ="document.images.programs.src='images/nav/programs.png'"/><!--SCHEDULE OF EVENTS--><img src="images/nav/scheduleofevents.png" width="189" height="30" border="0" name="scheduleofevents" onMouseOver="document.images.scheduleofevents.src='images/nav/scheduleofevents_ over.png'" onMouseOut ="document.images.scheduleofevents.src='images/nav/scheduleofevents.png'"/><!-- CONTACT US--><img src="images/nav/contactus.png" width="119" height="30" border="0" name="contactus" onMouseOver="document.images.contactus.src='images/nav/contactus_over.png'" onMouseOut ="document.images.contactus.src='images/nav/contactus.png'"/><!--DOWNLOADS--><i mg src="images/nav/downloads.png" width="267" height="30" border="0" name="downloads" onMouseOver="document.images.downloads.src='images/nav/downloads_over.png'" onMouseOut ="document.images.downloads.src='images/nav/downloads.png'"/><!--FACEBOOK--><im g src="images/nav/facebook.png" width="90" height="30" border="0" name="facebook" onMouseOver="document.images.facebook.src='images/nav/facebook_over.png'" onMouseOut ="document.images.facebook.src='images/nav/facebook.png'"/><!--TWITTER--><img src="images/nav/twitter.png" width="67" height="30" border="0" name="twitter" onMouseOver="document.images.twitter.src='images/nav/twitter_over.png'" onMouseOut ="document.images.twitter.src='images/nav/twitter.png'"/><!--BLOGGER--><img src="images/nav/blogger.png" width="75" height="30" border="0" name="blogger" onMouseOver="document.images.blogger.src='images/nav/blogger_over.png'" onMouseOut ="document.images.blogger.src='images/nav/blogger.png'"/><img src="images/home_banner.png" alt="home_border" width="1000" height="7" /><br /> So in January 2006 I posted a question about "making two buttons in one" 3 years and 5 months later i am happy to announce that I have found a solution. Ok, so no I have not spent the last three years looking, but the need for one came around again yesterday so I revisited the project. All I needed was "simple" image toggle. Image 'A' click it once it changes to image 'B' click it again it changes back to image 'A' All the "image toggle" codes I could find were extremely complex. I thought I had finally found one, it wasn't perfect, but it was the smallest and most basic thing I could find. HTML Code: <html> <head> <style type="text/css"> .on {background-image:url(playlist_btn.png); background-repeat:no-repeat;} .off {background-image:url(playlist_btn_x.png); background-repeat:no-repeat;} </style> <script language="javascript"> function togglestyle(el){if(el.className == "on") {el.className="off";} else {el.className="on";}} </script> </head> <body> <div id="onoff" class="playlist_btn"><img src="blank.gif" width="50 height="50" onclick="togglestyle(onoff)"></div> </body> </html> I tested it, it worked, so I considered problem solved. I placed it in my page and nothing. Turns out it wont work with a doc type - so it's useless. Other problems, I'm not big on using "blank gif's" unless I have to, if you want multiple image toggles you need a new JS function for each one, and two lines of css as well. And, though I rarely use image rollovers anymore, it would certainly not be possible in this method. So it was back to the drawing board. Well, I had actually already found the solution a few minuets prior to finding out that the above code is so good. I had coded a button that on rollover shows a tooltip, when you click the button, the text in the tool tip, changes, chick again and it reverts. All done with a simple showHide javascript function, that i am finfing out has many uses. here is the awesome code: Code: function showHide(elementid){ if (document.getElementById(elementid).style.display == 'none'){ document.getElementById(elementid).style.display = ''; } else { document.getElementById(elementid).style.display = 'none'; } } function hideShow(elementid){ if (document.getElementById(elementid).style.display == ''){ document.getElementById(elementid).style.display = 'none'; } else { document.getElementById(elementid).style.display = ''; } } I wont take credit for the showHide code, but I will take credit for the hideShow portion, obviously a monkey could have coded the revers, but iot does make it that much more universal. As the original code was designed to show something that was hidden, add the revers to hide something that is showing and it's perfect. Now I will take a moment to say, though I have yet to find a problem with the code, it seems to work in most browsers, firefox, ie, safari, and validates for WC3 - In sure it has it's flaws. Until now, to show and hide divs I had used the MM_showHideLayers JavaScript function, which by default used the visibility style. It is of course a good script, and has many uses, it's not very big, but it is somewhat complex. The other thing to think about is that invisible objects still take up space. That's what is cool about the display:none: style, is that is not only invisible but it doesn't take up space. So here is how I used the above to JavaScript to make a simple onclick image toggle: HTML Code: <img id="on" src="on.png" width="50" height="50" onClick="javascript:hideShow('on'); javascript:showHide('off')" alt="on"> <img id="off" src="off.png" width="50" height="50" onClick="javascript:hideShow('off'); javascript:showHide('plus')" style="display:none;" alt="off"> Cool huh? Now this example does not have a rollover either, but since it uses to individual images and is not replacing one image wioth another you could easily apply a rollover to both images. But, hold on, look at the above code, isn't that essentially a rollover? Change the first onClick to onMouseOver and the second to onMouseOut and look at that a 'brand new' method for mouseovers. So lets take a look at this for a second, and compare MM_swapImage to this new hideShow method. As far as CSS rollovers I definitely prefer them to the MM_swapImage method, as they use a minimal amount of code. However they actually take a lot of math, construction the buttons is somewhat tedious, because css buttons use 1 image and change it's position, to work well you have to use a "blank.gif" and the the css can really add up if you have a lot of buttons: Also, you can't go directly to a button in the document, you have to fish through the css to make any adjustments. But they are fast, they don't need to be preloaded and... they are pretty cool. But anyway, swapImage and hideShow... The left is the MM_swapImage method. Now when you use the swapImage js you also have to use MM_swapImgRestore, MM_findObj, MM_preloadImages. You don't have to use the preload script but it does make thing work faster... supposedly, but that requires a onload script in the body tag, and if you have a lot of rollovers your body tag can get really long really quick. So what are the advantages, well we know for sure it works, and you only need on image in the document, however actualy having the image you are "swapping" too actually in the document can add functionality. So as you can see, on the right, the showHide method is, in total code, much smaller. True you do need to use two images, so the total code in the body is longer but, it's more than evened out bu the minimal JavaScript, and I think it's worth it. You don't need to use a preloader, you have full control over both images, the up and over state, and unlike the swapImage method, though it's rare you would need to, your up and over images can actually be different sizes, which is kind of cool. So here's the basic code for a rollover: HTML Code: <img id="up" src="up.png" width="50" height="50" onMouseOver="javascript:hideShow('up'); javascript:showHide('over')" alt="up"> <a href="http://google.com"><img id="over" src="over.png" width="50" height="50" onMouseOut="javascript:hideShow('over'); javascript:showHide('up')" style="display:none;" alt="over" border="0"></a> To add a link the button you just apply it to the "over state" image. And unlike swapImage, though it is overkill, you can also add a "downstate" image quite easily. So, back to the on/off button here is how you would code it using showHide with rollovers. HTML Code: <img id="on" src="on.png" width="50" height="50" onMouseOver="javascript:hideShow('on'); javascript:showHide('onover')" alt="on"> <img id="onover" src="on_over.png" width="50" height="50" onMouseOut="javascript:hideShow('onover'); javascript:showHide('on')" onClick="javascript:hideShow('onover'); javascript:showHide('offover')" style="display:none;" alt="onover"> <img id="off" src="off.png" width="50" height="50" onMouseOver="javascript:hideShow('off'); javascript:showHide('offover')" style="display:none;" alt="off"> <img id="offover" src="off_over.png" width="50" height="50" style="display:none;" onMouseout="javascript:hideShow('offover'); javascript:showHide('off')" onClick="javascript:hideShow('onover'); javascript:showHide('off')"alt="offover"> So here is what is going on: you have the upstate on.png image, when you mouse over it on.png is hidden and on_over.png is displayed. When you click on_over.png it is hidden and off_over.png is display, mouse off it and off.png is displayed. Make scene? Now be aware, when you click, you are also in a scene "mousing off" so some flickering can occur. Firefox handles everything pretty well, IE and Safari not so much. When you click the on_over.png the click tells it to hide on_over.png and show the off_over.png, at the same time the mouseoff tells it to hide on_over.png and show the on.png. So fortunately the toggle with rollovers isn't perfect, but perhaps some more tweaking of the code or maybe, in this case swapImage would work better to do the rollovers... But all in all I'd say its a solid concept. If you feel compiled to do so, reply with any comments, concerns or flaws you see. Hey guys. I need a little help with my HTML image rotator. Everything works fine, except the images don't show up on the right slide. All 4 images show up on the first slide. I can't figure out what's wrong. Any help will be greatly appreciated. Code: <!DOCTYPE html> <html> <head> <title>...</title> <style> #sliderwrap { height: 403px; } #sliderleft { width: 10px; height: 100%; float: left; background: #efefef; border: 1px solid #ccc; } #sliderleft div { height: 100px; border-bottom: 1px solid black; } #slidercontent { position: relative; width: 650px; height: 100%; float: left; border: 1px solid black; overflow: hidden; } #sliderimages { position: absolute; -webkit-transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; -ms-transition: all .5s ease-in-out; -o-transition: all .5s ease-in-out; transition: all .5s ease-in-out; } #sliderimages img { display: block; } .s0 #slide0, .s1 #slide1, .s2 #slide2, .s3 #slide3 { background: #ccc; } .s0 #sliderimages {top: 0 } .s1 #sliderimages {top: -500px} .s2 #sliderimages {top: -1000px} .s3 #sliderimages {top: -1500px} </style> <script> var slide = 0; var interval_id = 0; function stop_timer() { clearInterval(interval_id); if (this.getAttribute("data-slide")) { slide = parseInt(this.getAttribute("data-slide")); document.getElementById("sliderwrap").className = "s" + slide; } } function start_timer() { clearInterval(interval_id); interval_id = setInterval( function() { slide = (slide + 1) % 4; document.getElementById("sliderwrap").className = "s" + slide; }, 3000 ); } window.onload = function() { start_timer(); var el = document.getElementById("slidercontent"); var divs = document.getElementById("sliderleft").getElementsByTagName("div"); for (var i = 0; i < divs.length; i++) { divs[i].onmouseover = stop_timer; divs[i].onmouseout = start_timer; } el.onmouseover = stop_timer; el.onmouseout = start_timer; } </script> </head> <body> <div id="sliderwrap" class="s0"> <div id="sliderleft"> <div id="slide0" data-slide="0"></div> <div id="slide1" data-slide="1"></div> <div id="slide2" data-slide="2"></div> <div id="slide3" data-slide="3"></div> </div> <div id="slidercontent"> <div id="sliderimages"> <img src="http://i.imgur.com/8iWz6.jpg"> <img src="http://i.imgur.com/1d2U6.jpg"> <img src="http://i.imgur.com/8iWz6.jpg"> <img src="http://i.imgur.com/1d2U6.jpg"> </div> </div> <div style="clear: both;"></div> </div> </body> </html> the title makes it sounds really confusing. Ok im making my first website, and i need help with a code, (as you can see on www.dalekblaster.co.uk) i have got a section at the top where the images change from one to another. The code is - HTML Code: // Set slideShowSpeed (milliseconds) var slideShowSpeed = 5000; // Duration of crossfade (seconds) var crossFadeDuration = 5; // Specify the image files var Pic = new Array(); // to add more images, just continue // the pattern, adding to the array below Pic[0] = 'http://www.dalekblaster.co.uk/images/banner/dalekblasternexttime.jpg' Pic[1] = 'http://www.dalekblaster.co.uk/images/banner/dalekblaster2.jpg' Pic[2] = 'http://www.dalekblaster.co.uk/images/banner/dalekblastersjanexttime.jpg' Pic[3] = 'http://www.dalekblaster.co.uk/images/banner/dalekblaster.jpg' // do not edit anything below this line var t; var j = 0; var p = Pic.length; var preLoad = new Array(); for (i = 0; i < p; i++) { preLoad[i] = new Image(); preLoad[i].src = Pic[i]; } function runSlideShow() { if (document.all) { document.images.SlideShow.style.filter="blendTrans(duration=2)"; document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"; document.images.SlideShow.filters.blendTrans.Apply(); } document.images.SlideShow.src = preLoad[j].src; if (document.all) { document.images.SlideShow.filters.blendTrans.Play(); } j = j + 1; if (j > (p - 1)) j = 0; t = setTimeout('runSlideShow()', slideShowSpeed); Now i need help because, i want to link each picture on the slideshow to a differnet page or external site, but im not sure how. (but so they can go to different pages not the same one) can anyone help me? I'm not sure if this is an IE issue, css, html... I have all icons and images showing a broken image" red X OVER the actual image? I've never seen this on any other sites or even on any other sites i've done. They are all .png images but I use .png files successfully all the time? Anyone encounter this? Here's the HTML surrounding the image file: HTML Code: <div class="header logo2"> <!-- Logo begins here --> <a href="index.php" title=""><img src="images/logo.png" alt="" /></a> </div> <!-- END Logo --> Here's the CSS surrounding the image with no other images or backgrounds being called??? HTML Code: .header { height: 41px; } .logo2 { text-align: right; } See Image Attached... Hi I am wondering if there is a way to create a composite image of different images in a website folder? So if I have a folder with image01.png, image02.png, image03.png, is there a way (on a website) to take those three images and create on composite image out of them, and then maybe place this new image in another folder? I don't want to use Flash. Thanks for your time and help. Shaun Hi guys, new to the forum and it looks like a helpful place. I've searched for my answer but can't find the solution hence why I'm posting here. What I want to do I imagine shouldn't be too difficult but I'm very new to this and trying to teach myself as I go. What I have is an image with various hotspots on it pointing to different pages. Now My hot spots work fine which amazed me but i what i need to be able to do is when i rollover a hot spot a pop up type window comes up showing a small amout of information about the page its linked to and a small image of same web page. I would appreciate any help but please bear in mind I am really new to all this so instructions wil have to be really basic or you'll just lose me. Oh and I'm using dreamweaver if that helps. If this is possible in one of the other adabe programmes where I could save all the information on the image or whatever then I'm willign to try anything. Cheers guys. Can we place an image just right to an image having the style float:left? If so how? I tried keeping but the second image was coming below the first image. <td colspan="4"> <img src="images/Subject.gif" style="float: left" /> <b>Subject - Craig TestFile</b> <img src="images/dot.jpg" class="imageUnderLine" /> </td> Also the is there any way to remove the spaces that come in between when we use <hr> tag? For example if we write test<hr> the seperator drawn is after a line break with text. Im trying to create a simple thing for my business. What im trying to do is have the image of each of my employees and under it have their name and other info. I want the images side by side with some space and able to put their info under it. Can someone help me with a html code? thanks! |