Vorlage Diskussion:Ausklappen2: Unterschied zwischen den Versionen

aus Kamelopedia, der wüsten Enzyklopädie
Zur Navigation springen Zur Suche springen
K (hmm … noch nicht …)
(→‎Monobook.js: so, hab schonmal rausbekommen, dass der Safari die for-in nicht mag ... war aber sicher noch nicht alles ):)
Zeile 103: Zeile 103:
 
// klapp-div-Rahmen
 
// klapp-div-Rahmen
 
var a = document.getElementsByTagName("div");  
 
var a = document.getElementsByTagName("div");  
for ( div in a )
+
for ( div=0;div<a.length;div++ )
 
{
 
{
 
if ( a[div].className == "klapp" )
 
if ( a[div].className == "klapp" )
Zeile 118: Zeile 118:
 
// klapp-spans-Rahmen als Link-Ersatz
 
// klapp-spans-Rahmen als Link-Ersatz
 
var a = document.getElementsByTagName("span");  
 
var a = document.getElementsByTagName("span");  
for ( span in a )
+
for ( span=0;span<a.length;span++ )
 
{
 
{
 
if ( a[span].className == "klapp" )
 
if ( a[span].className == "klapp" )

Version vom 4. Februar 2008, 23:30 Uhr

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)
ARRRRRRRRRRRGHHHHHH! BEARRRRRRRRRBEITUNGSKONFLIKT .... @WiKa: die Änderungen am script wurden doch noch gar nicht ins monobook übertragen ... kann also doch noch gar nicht funzen. Hab' das mal erledigt und bis jetzt noch keine Negativ-Auswirkungen bemerkt. Klappt's denn jetzt?
P.S.: da fällt mir gerade ein: hast Du denn auch das monobook als Skin aktiviert? Sonst tut sich da natürlich gar nix ... --WiMu 22:34, 4. Feb 2008 (CET)
Bahnhof ¿¿¿ !!¡¡¡ ??? … Bist Du mal so lieb und schaust da in meinen Bau und bastelst das ggf. an die richtige Stelle? Ich weiß gar nicht wo das hingehört. Bin aber gleich wieder da, muss mal an die Pfanne. WiKa 22:38, 4. Feb 2008 (CET)
Das musst Du schon selbst machen (wäre ja noch schöner, sonst könnte ich ja Deine Benutzerdaten ändern ...) →Da← musst Du hinhufen und unter Skin das monobook aktivieren (ist aber sehr, sehr wahrscheinlich so zu 98,9% bereits aktiviert) --WiMu 22:46, 4. Feb 2008 (CET)

Unabhängig davon, ob's jetzt bei WiKa klappt: könnte man noch eine dritte Fassung bauen, bei der das Aufklapp-Dingens wieder zuklappt, wenn man irgendwo klickt? Also Aktivierung über den Link, Deaktivierung einfach über erneuten Mausklick egal wo? Das wäre super ... aber kein muss.
Ich geh' jetzt schlafen, morgen früh raus und so. Nachtinachti --WiMu 23:11, 4. Feb 2008 (CET)

Achsooo … ja Monobook ist natürlich aktiv … will aber immer noch nicht … ok ich bete noch eine Runde … bis klapp klappt. WiKa 23:17, 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=0;div<a.length;div++ )
	{
		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=0;span<a.length;span++ )
	{
		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)