webForumDet fria alternativet

Scriptmodifiering (DHTML)

JavaScript

2 svar · 376 visningar · startad av NBT

Medlem sedan jan. 200264 inlägg
Frågan#1

Tjena.

Har kollat lite på Jojoxx exempel på tips som följer muspekaren.
Om man nu vill modda detta, så att tipset ifråga Inte följer musen utan är fokuserat på en angiven koordinat, hur gör jag då?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
	<title>Jojoxx.net DHTML</title>
	<link rel=stylesheet href="/style.css" type="text/css">
	<style type="text/css">
	</style>
</head>
<body bgcolor="#ffffff" link="#FFaF00" vlink="#ff6f00" alink="#ff0000" text="#333333">
<br>
<div align="center">
<img src="/images/title_dhtml.gif" width=350 height=75 alt="DHTML" border=0>

<h4>Exempel</h4>
<table border="0" cellpadding="0" cellspacing="0"><tr><td width="600">
<!-- Här börjar exemplet -->
<span id="jxtooltip" style="position:absolute; visibility:hidden;"></span>
<br>
<br>
<a href="http://www.jojoxx.net" onMouseover="tooltip('Besök Jojoxx.net');" onMouseout="tooltip();">Jojoxx.net</a>
<script language="JavaScript">
var Xmouse, Ymouse;
var hidden = true;
var preMessage="<table border=0><tr><td bgcolor='#ff0000'>";
var postMessage="</td></tr></table>";
function tooltip(message) {
	if(message){
		hidden = false;
		if (document.layers){
			with (document["jxtooltip"].document){
				open();
				write(preMessage + message + postMessage);
				close();
			}
		} else if (document.all) {
			document.all["jxtooltip"].innerHTML = preMessage + message + postMessage;
		} else if (document.getElementById){
			jxdocrange = document.createRange();
			jxdocrange.setStartBefore(document.getElementById("jxtooltip"));
			while (document.getElementById("jxtooltip").hasChildNodes()){
				document.getElementById("jxtooltip").removeChild(document.getElementById("jxtooltip").lastChild);
			}
			document.getElementById("jxtooltip").appendChild(jxdocrange.createContextualFragment(preMessage + message + postMessage));
		}
		if (document.all) {
			document.all["jxtooltip"].style.visibility = "visible";
		} else if (document.layers){
			document.layers["jxtooltip"].visibility = "show";
		} else if (document.getElementById){
			document.getElementById("jxtooltip").style.visibility = "visible";
		}
	} else {
		hidden = true;
		if (document.all) {
			document.all["jxtooltip"].style.visibility = "hidden";
		} else if (document.layers){
			document.layers["jxtooltip"].visibility = "hide";
		} else if (document.getElementById){
			document.getElementById("jxtooltip").style.visibility = "hidden";
		}
	}
}
function MoveHandler(evnt) {
	if(document.all) {
		Xmouse = window.event.x + document.body.scrollLeft;
		Ymouse = window.event.y + document.body.scrollTop;
	} else if(document.layers||document.getElementById){
		Xmouse = evnt.pageX;
		Ymouse = evnt.pageY;
	}
	moveLayer("jxtooltip",Xmouse-30,Ymouse+18);
}
function moveLayer(Id,x,y){
	if (document.all){
		document.all[Id].style.left = x;
		document.all[Id].style.top = y;
	} else if (document.layers){
		document.layers[Id].left = x;
		document.layers[Id].top = y;
	} else if (document.getElementById){
		document.getElementById(Id).style.left = x+'px';
		document.getElementById(Id).style.top = y+'px';
	}
}
if (document.layers){
	document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = MoveHandler;
</script>
<!-- Här slutar exemplet -->
</td></tr></table>

</div>

<input type="text" onFocus="tooltip('Skriv något här!');" onMouseout="tooltip();">
<textarea onFocus="tooltip('Skriv något annat här!');" onMouseout="tooltip();">text...</textarea>

</body>
</html>
Medlem sedan juni 20004 308 inlägg
#2

Något sånt här kanske;

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
	<title>Jojoxx.net DHTML</title>
	<link rel=stylesheet href="/style.css" type="text/css">
	<style type="text/css">
	</style>
</head>
<body bgcolor="#ffffff" link="#FFaF00" vlink="#ff6f00" alink="#ff0000" text="#333333">
<br>
<div align="center">
<img src="/images/title_dhtml.gif" width=350 height=75 alt="DHTML" border=0>

<h4>Exempel</h4>
<table border="0" cellpadding="0" cellspacing="0"><tr><td width="600">
<!-- Här börjar exemplet -->
<span id="jxtooltip" style="position:absolute; visibility:hidden;"></span>
<br>
<br>
<a href="http://www.jojoxx.net" onMouseover="tooltip('Besök Jojoxx.net');" onMouseout="tooltip();">Jojoxx.net</a>
<script language="JavaScript">
var Xmouse, Ymouse;
var locked=false;
var hidden = true;
var preMessage="<table border=0><tr><td bgcolor='#ff0000'>";
var postMessage="</td></tr></table>";
function tooltip(message,obj) {
	if(obj){
		moveLayer("jxtooltip",obj.offsetLeft+5,obj.offsetTop-15);
	}
	locked=(obj)?true:false;
	if(message){
		hidden = false;
		if (document.layers){
			with (document["jxtooltip"].document){
				open();
				write(preMessage + message + postMessage);
				close();
			}
		} else if (document.all) {
			document.all["jxtooltip"].innerHTML = preMessage + message + postMessage;
		} else if (document.getElementById){
			jxdocrange = document.createRange();
			jxdocrange.setStartBefore(document.getElementById("jxtooltip"));
			while (document.getElementById("jxtooltip").hasChildNodes()){
				document.getElementById("jxtooltip").removeChild(document.getElementById("jxtooltip").lastChild);
			}
			document.getElementById("jxtooltip").appendChild(jxdocrange.createContextualFragment(preMessage + message + postMessage));
		}
		if (document.all) {
			document.all["jxtooltip"].style.visibility = "visible";
		} else if (document.layers){
			document.layers["jxtooltip"].visibility = "show";
		} else if (document.getElementById){
			document.getElementById("jxtooltip").style.visibility = "visible";
		}
	} else {
		hidden = true;
		if (document.all) {
			document.all["jxtooltip"].style.visibility = "hidden";
		} else if (document.layers){
			document.layers["jxtooltip"].visibility = "hide";
		} else if (document.getElementById){
			document.getElementById("jxtooltip").style.visibility = "hidden";
		}
	}
}
function MoveHandler(evnt) {
	if(document.all) {
		Xmouse = window.event.x + document.body.scrollLeft;
		Ymouse = window.event.y + document.body.scrollTop;
	} else if(document.layers||document.getElementById){
		Xmouse = evnt.pageX;
		Ymouse = evnt.pageY;
	}
	if(!locked){
		moveLayer("jxtooltip",Xmouse-30,Ymouse+18);
	}
}
function moveLayer(Id,x,y){
	if (document.all){
		document.all[Id].style.left = x;
		document.all[Id].style.top = y;
	} else if (document.layers){
		document.layers[Id].left = x;
		document.layers[Id].top = y;
	} else if (document.getElementById){
		document.getElementById(Id).style.left = x+'px';
		document.getElementById(Id).style.top = y+'px';
	}
}
if (document.layers){
	document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = MoveHandler;
</script>
<!-- Här slutar exemplet -->
</td></tr></table>

</div>

<form>
<input type="text" onFocus="tooltip('Skriv något här!',this);" onBlur="tooltip();">
<textarea onFocus="tooltip('Skriv något annat här!',this);" onBlur="tooltip();">text...</textarea>
</form>

</body>
</html>
Medlem sedan dec. 20011 860 inlägg
#3

Har en hemsida byggd med ramar/frames. Behöver få hjälp med denna så att OM ramen är slut till höger eller vänster skall rutan känna detta och automatiskt visas inom ramen och ej så halva ramen bara syns. Går detta att fixas och isåfall hur? Skulle detta kunna fixas är det SUPERBRA. Tack på förhand. Annars kanske det finns något som funkar på samma sätt och anropas på samma sätt via:

onMouseover="tooltip('Text som syns');" onMouseout="tooltip();"

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)