/    Sign up×
Community /Pin to ProfileBookmark

Options on mouseover not dissapearing

I’ve got a site where you put your mouse over a menu and other options come out. That all works, but when you move your mouse away, the options dont dissapear. Can anyone help?

[code=html]/*** SET BUTTON’S FOLDER HERE ***/
var buttonFolder = “buttons/”;

/*** SET BUTTONS’ FILENAMES HERE ***/
upSources = new Array(“button1up.png”);

overSources = new Array(“button1over.png”);

// SUB MENUS DECLARATION, YOU DONT NEED TO EDIT THIS
subInfo = new Array();
subInfo[1] = new Array();

//*** SET SUB MENUS TEXT LINKS AND TARGETS HERE ***//

subInfo[1][1] = new Array(“Search the database”,”about.htm”,””);
subInfo[1][2] = new Array(“Submit”,”http://www.diversionsdance.co.uk”,”_blank”);

//*** SET SUB MENU POSITION ( RELATIVE TO BUTTON ) ***//
var xSubOffset = -184;
var ySubOffset = -4;

//*** NO MORE SETTINGS BEYOND THIS POINT ***//
var overSub = false;
var delay = 300;
totalButtons = upSources.length;

// GENERATE SUB MENUS
for ( x=0; x<totalButtons; x++) {
// SET EMPTY DIV FOR BUTTONS WITHOUT SUBMENU
if ( subInfo[x+1].length < 1 ) {
document.write(‘<div id=”submenu’ + (x+1) + ‘”>’);
// SET DIV FOR BUTTONS WITH SUBMENU
} else {
document.write(‘<div id=”submenu’ + (x+1) + ‘” class=”dropmenu” ‘);
document.write(‘onMouseOver=”overSub=true;’);
document.write(‘setOverImg(” + (x+1) + ”,”);”‘);
document.write(‘onMouseOut=”overSub=false;’);
document.write(‘setTimeout(‘hideSubMenu(\’submenu’ + (x+1) + ‘\’)’,delay);’);
document.write(‘setOutImg(” + (x+1) + ”,”);”>’);

document.write(‘<ul>’);
for ( k=0; k<subInfo[x+1].length-1; k++ ) {
document.write(‘<li>’);
document.write(‘<a href=”‘ + subInfo[x+1][k+1][1] + ‘” ‘);
document.write(‘target=”‘ + subInfo[x+1][k+1][2] + ‘”>’);
document.write( subInfo[x+1][k+1][0] + ‘</a>’);
document.write(‘</li>’);
}
document.write(‘</ul>’);
}
document.write(‘</div>’);
}

//*** MAIN BUTTONS FUNCTIONS ***//
// SET MOUSEOVER BUTTON
function setOverImg(But, ID) {
document.getElementById(‘button’ + But + ID).src = buttonFolder + overSources[But-1];
}

// SET MOUSEOUT BUTTON
function setOutImg(But, ID) {
document.getElementById(‘button’ + But + ID).src = buttonFolder + upSources[But-1];
}

//*** SUB MENU FUNCTIONS ***//
// GET ELEMENT ID MULTI BROWSER
function getElement(id) {
return document.getElementById ? document.getElementById(id) : document.all ? document.all(id) : null;
}

// GET X COORDINATE
function getRealLeft(id) {
var el = getElement(id);
if (el) {
xPos = el.offsetLeft;
tempEl = el.offsetParent;
while (tempEl != null) {
xPos += tempEl.offsetLeft;
tempEl = tempEl.offsetParent;
}
return xPos;
}
}

// GET Y COORDINATE
function getRealTop(id) {
var el = getElement(id);
if (el) {
yPos = el.offsetTop;
tempEl = el.offsetParent;
while (tempEl != null) {
yPos += tempEl.offsetTop;
tempEl = tempEl.offsetParent;
}
return yPos;
}
}

// MOVE OBJECT TO COORDINATE
function moveObjectTo(objectID,x,y) {
var el = getElement(objectID);
el.style.left = x;
el.style.top = y;
}

// MOVE SUBMENU TO CORRESPONDING BUTTON
function showSubMenu(subID, buttonID) {
hideAllSubMenus();
butX = getRealLeft(buttonID);
butY = getRealTop(buttonID);
moveObjectTo(subID,butX+xSubOffset, butY+ySubOffset);
}

// HIDE ALL SUB MENUS
function hideAllSubMenus() {
for ( x=0; x<totalButtons; x++) {
moveObjectTo(“submenu” + (x+1) + “”,-500, -500 );
}
}

// HIDE ONE SUB MENU
function hideSubMenu(subID) {
if ( overSub == false ) {
moveObjectTo(subID,-500, -500);
}
}

//preload();

[/code]

to post a comment
JavaScript

0Be the first to comment 😎

×

Success!

Help @m0u53m4t spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.24,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...