Hey all,
As a JS rookie I've managed to toggle specific backgrounds on multiple mouseovers. The code below does exactly what I want, but I'm not quite satisfied with the way it's done.
The definite webpage will contain a lot of projectboxes, and for each project I need to add two functions in my script. Not very efficient. I'm looking for a single function which works in the same way, preferably making use of an array where I can add new projectimages. Any help on this would be greatly apprciated!
Code:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Switch backgrounds on mouseover</title> <style type="text/css"> .projectbox { margin-right: 15px; float: left; } .imgbox { width: 265px; height: 100px; display: block; } .imgbox a.img1_off { background: url(http://www.boomboxfestival.nl/test3/dummy1_off.jpg) no-repeat; } .imgbox a.img1_on { background: url(http://www.boomboxfestival.nl/test3/dummy1_on.jpg) no-repeat; } .imgbox a.img2_off { background: url(http://www.boomboxfestival.nl/test3/dummy2_off.jpg) no-repeat; } .imgbox a.img2_on { background: url(http://www.boomboxfestival.nl/test3/dummy2_on.jpg) no-repeat; } .imgbox a.img3_off { background: url(http://www.boomboxfestival.nl/test3/dummy3_off.jpg) no-repeat; } .imgbox a.img3_on { background: url(http://www.boomboxfestival.nl/test3/dummy3_on.jpg) no-repeat; } .titlebox h1 { font: 11px/10px Arial, Helvetica, sans-serif; text-transform: uppercase; float: left; margin-right: 3px; } .titlebox h1 a { display: block; background: #ccc; color: #fff; text-decoration: none; padding: 2px 3px; } .titlebox h1 a.title_off { background: #ccc; } .titlebox h1 a.title_on { background: #000; } </style> <script language="javascript" type="text/javascript"> function switchTitle(objDivID) { document.getElementById(objDivID).className = 'title_on'; } function resetTitle(objDivID) { document.getElementById(objDivID).className = 'title_off'; } function switchImage1(objDivID) { document.getElementById(objDivID).className = 'img1_on imgbox'; } function resetImage1(objDivID) { document.getElementById(objDivID).className = 'img1_off imgbox'; } function switchImage2(objDivID) { document.getElementById(objDivID).className = 'img2_on imgbox'; } function resetImage2(objDivID) { document.getElementById(objDivID).className = 'img2_off imgbox'; } function switchImage3(objDivID) { document.getElementById(objDivID).className = 'img3_on imgbox'; } function resetImage3(objDivID) { document.getElementById(objDivID).className = 'img3_off imgbox'; } </script> </head> <body> <div class="projectbox"> <div class="imgbox"> <a href="#" id="projectimg1" class="img1_off imgbox" title="Bekijk die toffe ****" onmouseover="switchImage1('projectimg1'); switchTitle('projecttitle1')" onmouseout="resetImage1('projectimg1'); resetTitle('projecttitle1')"></a> </div> <div class="titlebox"> <h1><a href="#" id="projecttitle1" class="title_off" onmouseover="switchImage1('projectimg1'); switchTitle('projecttitle1')" onmouseout="resetImage1('projectimg1'); resetTitle('projecttitle1')">Title project 1</a></h1> </div> </div> <div class="projectbox"> <div class="imgbox"> <a href="#" id="projectimg2" class="img2_off imgbox" title="Bekijk die toffe ****" onmouseover="switchImage2('projectimg2'); switchTitle('projecttitle2')" onmouseout="resetImage2('projectimg2'); resetTitle('projecttitle2')"></a> </div> <div class="titlebox"> <h1><a href="#" id="projecttitle2" class="title_off" onmouseover="switchImage2('projectimg2'); switchTitle('projecttitle2')" onmouseout="resetImage2('projectimg2'); resetTitle('projecttitle2')">Title project 2</a></h1> </div> </div> <div class="projectbox"> <div class="imgbox"> <a href="#" id="projectimg3" class="img3_off imgbox" title="Bekijk die toffe ****" onmouseover="switchImage3('projectimg3'); switchTitle('projecttitle3')" onmouseout="resetImage3('projectimg3'); resetTitle('projecttitle3')"></a> </div> <div class="titlebox"> <h1><a href="#" id="projecttitle3" class="title_off" onmouseover="switchImage3('projectimg3'); switchTitle('projecttitle3')" onmouseout="resetImage3('projectimg3'); resetTitle('projecttitle3')">Title project 3</a></h1> </div> </div> </body> </html>


Reply With Quote

Bookmarks