Vorlage Diskussion:Ausklappen2

aus Kamelopedia, der wüsten Enzyklopädie
Zur Navigation springen Zur Suche springen

Damit die Vorlagen Vorlage:Ausklappen2 und Vorlage:Ausklappen3 funktionen, müsste folgendes ergänzt werden. -- Grüße J* 23:34, 27. Jan 2008 (CET)

Ich hab' das mal beides ergänzt. Funzt alles super ... getestet in Firefox2 und IE7. Einziger Haken: die Klick-Kats und Sonderzeichen sind jetzt unter dem Bearbeiten-Fenster (so wie früher?). Überschneiden sich da irgendwelche Klassen? Blick' gerade nicht durch.
Trotzdem: vieles groß DANKE! --WiMu 11:00, 28. Jan 2008 (CET)
Super! Das sieht nach harter Arbeit aus... Danke an alle Java- und sonstigen Kümmerer sagt das Schachtelkamel 12:47, 28. Jan 2008 (CET)
Im Monobook.css hatte ich eine Klammer vergessen (die geschweifte ganz am Ende) - die noch mit rein, und dann geht das auch mit den Kats wieder --J* 13:44, 28. Jan 2008 (CET)
Mit Firefox geht es bei mir, leider bin ich mit Safari aufgeschmissen, da rührt sich nix bei Klick und die KATs hängen bei mir trotz refresh des Browsers (bei Safari) auch noch unten drunter … WiKa 13:47, 28. Jan 2008 (CET)
Hab die fehlende Klammer in der Monobook.css ergänzt. Im FF funzt jetzt alles prima. BTW: Safari ist doch eher was für die Jungs mit den kleinen Geschlechtsorganen ;) -- Ameise 14:06, 28. Jan 2008 (CET)
… ja deshalb kann ich nicht darauf verzichten … kann mir denn geholfen werden oder brauch ich einen GRÖßEREN?¿? *g* WiKa 14:49, 28. Jan 2008 (CET)
Ich hab grad noch ein paar Änderungen [1] vorgenommen, um ein Linkproblem zu beheben - könnte das bitte wieder irgendwer übertragen? --J* 17:03, 28. Jan 2008 (CET)
erledigt --WiMu 18:56, 28. Jan 2008 (CET)

@J* … leider geht es mit Safari immer noch nicht. Die normale Ausklappen … Mouseover und klappauf und zu tut es bestens … die neuen, mit Klick weigern sich trotz Cache entleeren immer noch ganz mächtig. Hast Du Dir mal Safari bei Apple runtergeladen? Würde mich riesig freuen wenn wir das hinbekommen, zumal Safari auch bei den Edits ein erheblich schöneres Schriftbild hat als Feuerfuchs … wenn Du's schaffst, geb ich ein Keks der anderen Art … *g* WiKa 22:11, 4. Feb 2008 (CET)

Wundert mich nicht - Muss nämlich noch in den Quelltext übernommen werden (MediaWiki:Monobook.js). Kann ich leider nicht selber machen... Vielleicht gehts ja dann (: -- J* als anonyme IP im Safari 82.83.196.140 22:31, 4. Feb 2008 (CET)

Monobook.css

.klapp {
	cursor: pointer;
}
span.klapp {
	text-decoration: none;
	color: #002bb8;
	background: none;
	}

span.klapp:hover {
	text-decoration: underline;
}

Monobook.js

// ================================================================================
// Ein- und Ausblenden per Javascript

// mit den folgenden Funktionen lässt sich ein div-Konstrukt in ein Einblende-Ausblende-Ding verwandeln
//
// Variante 1 (Klick irgendwo blendet ein oder aus):
//	<div class="klapp">
//		<div class="klapp_t">Titel im ausgeblendeten Zustand</div>
//		<div class="klapp_e">Titel im ausgeblendeten Zustand</div>
//		<div class="klapp_i">Einzublendender Inhalt</div>
//	</div>
//
// Variante 2 (ein- und ausblenden nur mit Links):
//	<div class="klapp_x">
//		<div class="klapp_t">Titel im ausgeblendeten Zustand mit <span class="klapp">Einblendelink</span></div>
//		<div class="klapp_e">Titel im ausgeblendeten Zustand mit <span class="klapp">Ausblendelink</span></div>
//		<div class="klapp_i">Einzublendender Inhalt</div>
//	</div>

function ausklapp( element )
{
	var klapp_i = null;
	var klapp_e = null;
	var klapp_t = null;

	for (i in element.childNodes)
	{
		if( element.childNodes[i].nodeType == 1 )
		{
			if ( element.childNodes[i].className == "klapp_i" )
				klapp_i = element.childNodes[i];
			else if ( element.childNodes[i].className == "klapp_t" )
				klapp_t = element.childNodes[i];
			else if ( element.childNodes[i].className == "klapp_e" )
				klapp_e = element.childNodes[i];
		}

		if ( klapp_i && klapp_t && klapp_e )
			break;
	}

	if( klapp_i.style.display != "none")
	{
		klapp_i.style.display = "none";
		klapp_e.style.display = "none";
		klapp_t.style.display = "block";

	}
	else
	{
		klapp_i.style.display = "block";
		klapp_e.style.display = "block";
		klapp_t.style.display = "none";
	}

}

function getKlappDiv( obj )
{
	while ( obj && obj.parentNode && obj.className != "klapp_x" )
		obj = obj.parentNode;

	return obj;
}

// Event-Handler für alle class="klapp"-Objekte zuweisen
function makeAusklapp()
{
	// klapp-div-Rahmen
	var a = document.getElementsByTagName("div"); 
	for ( div in a )
	{
		if ( a[div].className == "klapp" )
		{
			//Leider nicht IE-Kompatibel:
			//var f = function () { ausklapp(this) };
			//addEvent( a[div], "click", f , false );
			//stattdessen:

			a[div].onclick = function () { ausklapp(this);}
		}
	}

	// klapp-spans-Rahmen als Link-Ersatz
	var a = document.getElementsByTagName("span"); 
	for ( span in a )
	{
		if ( a[span].className == "klapp" )
		{
			a[span].onclick = function () { ausklapp(getKlappDiv( this ));}
		}
	}

}

// Nach dem Laden des Fensters folgendes Ausführen:
window.onload = function () { makeAusklapp(); }
//eigentlich ist das eine unschöne Lösung... Hoffentlich werden keine anderen Events überschrieben!

*zweckendfremd*

nur mal so nebenbei ... funktioniert noch nicht 100%ig (man muss 2x klicken am Anfang) ... aber *großeaugenmach*

--WiMu 13:21, 28. Jan 2008 (CET)

Würde ich so lösen:

--J* 14:41, 28. Jan 2008 (CET)

jupp, ist mir im nachinein auch aufgegangen, dass man beides in den Titel stopfen sollte ... lustig ist, dass der Text hier einmal rechts, einmal drunter angezeigt wird, weil die Ka-Mel-Oh!-Vorlage per default left floatet :-) --WiMu 15:09, 28. Jan 2008 (CET)