[JS] Firefox verdoppelt Link und macht kein expand *gelöst*

kbot

warm draußen,oder?
ID: 50740
L
20 April 2006
4.203
143
Moin,

ich hab 2 Probleme.
Das erste ist, dass ich einen Link habe, dessen Linktext durch JavaScript generiert wird, aber der Firefox zwei Links daraus bastelt...

Original-Quelltext:
PHP:
<a href='#' class='pfeil_service_klein' onClick="expand_losungen();showml('losungen_at');hideml('losungen_nt')">
<script language="JavaScript">
if (lostxt) {dw('<p>'+ATv+'</p>');}
</script>
</a>
Vom Firefox generierter Quelltext:
PHP:
<a class="pfeil_service_klein" onclick="expand_losungen();showml('losungen_at');hideml('losungen_nt')" href="#">
<script language="JavaScript">
if (lostxt) {dw('<p>'+ATv+'</p>');}
</script>
</a>
<p>
<a class="pfeil_service_klein" onclick="expand_losungen();showml('losungen_at');hideml('losungen_nt')" href="#">
Jesaja 40,27
</a>
</p>
Im IE6 sieht sieht es super aus, nur der FF2 macht macht mir einmal nen Link mit dem in 'class="pfeil_service_klein" ' hinterlegten Hintergrundbild und dazu noch nen Link mit dem Hintergrundbild PLUS Linktext.

So siehts im IE6 aus: ´ ´ ´ ´ ´ Und so siehts im FF2 aus:
. . . . . . . . . . .

Ich hab keine Ahnung, wieso das so ist :(


Dazu kommt dann noch mein zweites Problem.
Wenn man auf diesen Link klickt, soll halt das Div, welches nur 80px hoch ist, auf 280px vergrößert werden. Im IE6 klappt das auch wunderbar, nur mag der FF2 das überhaupt nicht tun ...

Externe Script-Datei:
PHP:
function showml(part) {
	if(document.getElementById)
	   document.getElementById(part).style.visibility = "visible";
}
		

function hideml(part) {
	if(document.getElementById)
	   document.getElementById(part).style.visibility = "hidden";
}
Script im HTML:
PHP:
<script language="JavaScript" type="text/JavaScript">
	<!--
	

		function expand_losungen(){

//			var myAnim = new YAHOO.util.Anim('losungen_box', { height: {to: 280} }, 1, YAHOO.util.Easing.bounceOut);
//			myAnim.animate();
			document.getElementById('losungen_box').style.height= "280";
			hideml('losungen_auswahl');
		//	var myAnim = new YAHOO.util.Anim('losungen_nt', { height: {to: 280} }, 1, YAHOO.util.Easing.bounceOut);
//			myAnim.animate();
//			var myAnim = new YAHOO.util.Anim('losungen_at', { height: {to: 280} }, 1, YAHOO.util.Easing.bounceOut);
//			myAnim.animate();

//			document.getElementById('endverlauf_gelb').style.visibility= "hidden"
		}

		function crop_losungen(){
//			var myAnim = new YAHOO.util.Anim('losungen_box', { height: {to: 100} }, 1, YAHOO.util.Easing.bounceOut);
//			myAnim.animate();
			document.getElementById('losungen_box').style.height= "80";
			showml('losungen_auswahl');
//			var myAnim = new YAHOO.util.Anim('losungen_nt', { height: {to: 80} }, 1, YAHOO.util.Easing.bounceOut);
//			myAnim.animate();
//			var myAnim = new YAHOO.util.Anim('losungen_at', { height: {to: 80} }, 1, YAHOO.util.Easing.bounceOut);
//			myAnim.animate();

			// document.getElementById('endverlauf_gelb').style.visibility= "visible"
		}


-->
</script>
Aufruf des Scripts:
PHP:
<a href='#' class='pfeil_service_klein' onClick="expand_losungen();showml('losungen_at');hideml('losungen_nt')">
<script language="JavaScript">
if (lostxt) {dw('<p>'+ATv+'</p>');}
</script>
</a>
Auch hier hab ich Null Ahnung, warum das so ist, da IE6 keinerlei Probleme damit hat.


Ich hoffe, dass jemand diese Probleme gut überblicken kann und vielleicht sogar direkt sieht, was da falsch ist.
Es besteht auch die Möglichkeit nen Link zur besagten Datei zu bekommen, falls das Problem irgendwie außerhalb meiner geposteten Quelltext-Auszüge liegt.


MfG kbot
 
Zuletzt bearbeitet:
ein Problem nun gelöst

also ich hab jetzt überall noch nen px drangehängt, allerdings kann ich grad nicht überprüfen ob es funktioniert, da mein FF2 immer nach ein paar Sekunden 100% CPU-Leistung beansprucht und nix mehr tut :roll:

entweder es liegt an dieser Änderung oder an der Version 2.0.0.9 die vor ein paar Tagen gekommen ist, seitdem hab ich öfters Probleme gehabt :roll:

Im IE6 läufts übrigens immer noch problemlos ;)


MfG kbot

Edit: FF2 läuft wieder und Tata! Es lag wirklich an den 'px', warum muss der auch immer so pingelig sein ;)
Vielen Dank Moloc!
Jetzt bleibt nur noch das Problem der Linkverdopplung...
 
Zuletzt bearbeitet:
Beim ersten Problem wäre es denke ich am einfachsten, wenn du einen Link postest. Dann kann man sich das genau anschauen.

Kannst du nicht irgendwie anderst den Wert in den Link schreiben?
 
najo, Link wollt ich eigentlich vermeiden, wegen Werbung und so

aber ich machs einfach mal, da ist die test.html (gewesen :p)
Welchen Wert meinst du mit "in den Link schreiben"?

Also ich hab ganz viele .js Dateien, in denen stehen der Linktext sowie der Content (jeden Tag eine andere Datei), der in das expandierte Feld reinkommt, hab keine Ahnung, wie ich die Werte sonst da raus und auf meine Seite reinkrieg...

Edit: als ich beim W3C Validator war, um eigentlich zu schauen, wie valide eine andere Internetseite ist, stach mir sofort ein Satz ins Auge:
One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>").
:doh:
Genau das ist es gewesen...
Ich hatte ein <p> in einem <a> :wall: :roll:
Ich habs also ausgetauscht gegen ein <span> und das Problem war gelöst :dance:

Also immer dran denken: Der Validator hat immer Recht! ;)
 
Zuletzt bearbeitet: