friendofmisery
Mitglied
Folgendes Problem:
Bei unten stehendem Script wird bei mouseover über bestimmte Stellen ein Layer geöffnet und ein Bild augetauscht.
Bei mouseout verschwindet der Layer wieder und das Bild wird wiederum getauscht.
Ich will, dass onclick auf eine best. Stelle der Layer erscheint etc. und v.a. soll NACHDEM ich geklickt habe, das mouseout sozusagen deaktiviert werden.
Wenn ich aber nicht klicke, soll das mouseout weiterhin ausgeführt werden.
Wie könnte das gehen?
Dankbar für jede Hilfe,
Tobi
-----------------------------------------
<HTML>
<head></head>
<body>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
browserVersion = parseInt(navigator.appVersion);lvis = "";macietop = 0;macieleft = 0;thetop = 0;theleft = 0;system = navigator.userAgent;
if(system.indexOf("Mac") != -1 && navigator.appName != "Netscape" ){
macietop = 0;
code = 'thetop = parseInt(document.getElementById("adtxt").style.top) - macietop;\n'
code += 'document.getElementById("adtxt").style.top = thetop;\n'
rv = eval (code)
}
if(system.indexOf("Mac") != -1 && navigator.appName != "Netscape" ){
macietop = 4;macieleft = 3;
}else{
macietop = 0;macieleft = 0;
}
function show_hide_layers(thecase,el,modus){
if(lvis != "" && modus == 'mover'){
code = 'document.layers.' + lvis + '.visibility = "hidden";'
if(navigator.appName == "Netscape" && browserVersion >= 5 || navigator.appName != "Netscape"){
code = 'thetop = thetop + macietop;\n'
code += 'theleft = theleft + macieleft;\n'
code += 'document.getElementById("' + lvis + '").style.top = thetop;\n'
code += 'document.getElementById("' + lvis + '").style.left = theleft;\n'
code += 'document.getElementById("' + lvis + '").style.visibility = "hidden";'
}
rv = eval (code)
//window.clearTimeout(tout)
}
lvis = el
code = 'document.layers.' + el + '.visibility = "' + thecase + '";'
if(navigator.appName == "Netscape" && browserVersion >= 5 || navigator.appName != "Netscape"){
if(modus == 'mover'){
code = 'thetop = parseInt(document.getElementById("' + el + '").style.top) - macietop;\n'
code += 'theleft = parseInt(document.getElementById("' + el + '").style.left) - macieleft;\n'
code += 'document.getElementById("' + el + '").style.top = thetop;\n'
code += 'document.getElementById("' + el + '").style.left = theleft;\n'
code += 'document.getElementById("' + el + '").style.visibility = "' + thecase + '";'
}else{
code = 'document.getElementById("' + el + '").style.visibility = "' + thecase + '";'
}
}
rv = eval (code)
//(modus == 'mover') ? rv = eval (code) : tout = window.setTimeout("rv = eval (code)",3000);
}
function canManipulateImages() {
if (document.images)
return true;
else
return false;
}
function preLoadImage(imageURL) {
if (gImageCapableBrowser){
image = new Image();
image.src = imageURL;
return image;
}
}
function changeButtonImage(buttonName,sourceImage) {
if (gImageCapableBrowser) {
document[buttonName].src = sourceImage.src;
return true;
}
}
gImageCapableBrowser = canManipulateImages();
wk = preLoadImage("preh/usr_images/WeltkartenKontakt_de.gif");
wkdeeu = preLoadImage("preh/usr_images/WeltkartenKontakt_deeu.gif");
wkdeus = preLoadImage("preh/usr_images/WeltkartenKontakt_deus.gif");
wkdeas = preLoadImage("preh/usr_images/WeltkartenKontakt_deas.gif");
//-->
</SCRIPT>
<img src="[%WebID%]/usr_images/WeltkartenKontakt_de.gif" alt="" name="wkontakt" id="wkontakt" width="530" height="312" usemap="#wkontakt_map" border="0">
<map name="wkontakt_map">
<area href="main.asp?WebID=[%WebID%]&PageID=221" shape="POLY" onmouseover="show_hide_layers('visible','as','mover');changeButtonImage('wkontakt',wkdeas,'mover')" onmouseout="show_hide_layers('visible','as','mout');changeButtonImage('wkontakt',wk,'mout')" coords="432,157,420,157,420,146,432,146,432,134,518,134,518,165,431,165">
</map>
<div id="as" style="position:absolute; height:100px; width:170px; top:270px; left:533px;visibility:hidden;">
<span class="karte">Singapore</span>
</div>
</body>
</html>
Bei unten stehendem Script wird bei mouseover über bestimmte Stellen ein Layer geöffnet und ein Bild augetauscht.
Bei mouseout verschwindet der Layer wieder und das Bild wird wiederum getauscht.
Ich will, dass onclick auf eine best. Stelle der Layer erscheint etc. und v.a. soll NACHDEM ich geklickt habe, das mouseout sozusagen deaktiviert werden.
Wenn ich aber nicht klicke, soll das mouseout weiterhin ausgeführt werden.
Wie könnte das gehen?
Dankbar für jede Hilfe,
Tobi
-----------------------------------------
<HTML>
<head></head>
<body>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
browserVersion = parseInt(navigator.appVersion);lvis = "";macietop = 0;macieleft = 0;thetop = 0;theleft = 0;system = navigator.userAgent;
if(system.indexOf("Mac") != -1 && navigator.appName != "Netscape" ){
macietop = 0;
code = 'thetop = parseInt(document.getElementById("adtxt").style.top) - macietop;\n'
code += 'document.getElementById("adtxt").style.top = thetop;\n'
rv = eval (code)
}
if(system.indexOf("Mac") != -1 && navigator.appName != "Netscape" ){
macietop = 4;macieleft = 3;
}else{
macietop = 0;macieleft = 0;
}
function show_hide_layers(thecase,el,modus){
if(lvis != "" && modus == 'mover'){
code = 'document.layers.' + lvis + '.visibility = "hidden";'
if(navigator.appName == "Netscape" && browserVersion >= 5 || navigator.appName != "Netscape"){
code = 'thetop = thetop + macietop;\n'
code += 'theleft = theleft + macieleft;\n'
code += 'document.getElementById("' + lvis + '").style.top = thetop;\n'
code += 'document.getElementById("' + lvis + '").style.left = theleft;\n'
code += 'document.getElementById("' + lvis + '").style.visibility = "hidden";'
}
rv = eval (code)
//window.clearTimeout(tout)
}
lvis = el
code = 'document.layers.' + el + '.visibility = "' + thecase + '";'
if(navigator.appName == "Netscape" && browserVersion >= 5 || navigator.appName != "Netscape"){
if(modus == 'mover'){
code = 'thetop = parseInt(document.getElementById("' + el + '").style.top) - macietop;\n'
code += 'theleft = parseInt(document.getElementById("' + el + '").style.left) - macieleft;\n'
code += 'document.getElementById("' + el + '").style.top = thetop;\n'
code += 'document.getElementById("' + el + '").style.left = theleft;\n'
code += 'document.getElementById("' + el + '").style.visibility = "' + thecase + '";'
}else{
code = 'document.getElementById("' + el + '").style.visibility = "' + thecase + '";'
}
}
rv = eval (code)
//(modus == 'mover') ? rv = eval (code) : tout = window.setTimeout("rv = eval (code)",3000);
}
function canManipulateImages() {
if (document.images)
return true;
else
return false;
}
function preLoadImage(imageURL) {
if (gImageCapableBrowser){
image = new Image();
image.src = imageURL;
return image;
}
}
function changeButtonImage(buttonName,sourceImage) {
if (gImageCapableBrowser) {
document[buttonName].src = sourceImage.src;
return true;
}
}
gImageCapableBrowser = canManipulateImages();
wk = preLoadImage("preh/usr_images/WeltkartenKontakt_de.gif");
wkdeeu = preLoadImage("preh/usr_images/WeltkartenKontakt_deeu.gif");
wkdeus = preLoadImage("preh/usr_images/WeltkartenKontakt_deus.gif");
wkdeas = preLoadImage("preh/usr_images/WeltkartenKontakt_deas.gif");
//-->
</SCRIPT>
<img src="[%WebID%]/usr_images/WeltkartenKontakt_de.gif" alt="" name="wkontakt" id="wkontakt" width="530" height="312" usemap="#wkontakt_map" border="0">
<map name="wkontakt_map">
<area href="main.asp?WebID=[%WebID%]&PageID=221" shape="POLY" onmouseover="show_hide_layers('visible','as','mover');changeButtonImage('wkontakt',wkdeas,'mover')" onmouseout="show_hide_layers('visible','as','mout');changeButtonImage('wkontakt',wk,'mout')" coords="432,157,420,157,420,146,432,146,432,134,518,134,518,165,431,165">
</map>
<div id="as" style="position:absolute; height:100px; width:170px; top:270px; left:533px;visibility:hidden;">
<span class="karte">Singapore</span>
</div>
</body>
</html>