• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Zur Frage, ob es Sinn macht, Javascript/jQuery als Fallback zum Styling zu verwenden

Coca-Cola

2. schwarzes KKK Mitglied

Registriert
13 Aug. 2013
Beiträge
69
Ort
.de/BW
Das geht mit auch mit ein paar Zeilen jQuery recht einfach:

[src=javascript]
$(document).ready(function() {
$('#tabelle tr:odd').addClass("odd");
$('#tabelle tr:even').addClass("even");
});
[/src]

Die Tabelle, die bunt werden soll, gibst du die ID Tabelle und den CSS-Klassen odd und even kannst du deine gewünschten Farben geben.
 

dexter

Cloogshicer®
Teammitglied

Registriert
14 Juli 2013
Beiträge
5.416
Re: [CSS / PHP] Jede zweite Zeile anders, aber aus einer CSS-Datei

Das geht mit auch mit ein paar Zeilen jQuery recht einfach[...]
Vorausgesetzt, man lädt jquery eh schon für andere Funktionen. Das extra dafür zu laden halte ich für überflüssig.
 

LemonDrops

Neu angemeldet

Registriert
20 Juli 2013
Beiträge
543
Re: [CSS / PHP] Jede zweite Zeile anders, aber aus einer CSS-Datei

Höher, schneller weiter ohne jQuery: Einfach ausführen, wenn das DOM fertig ist.

Zum Angucken: http://jsfiddle.net/7VwBP/

[src=javascript]
(function () {
var alternatingTableRowColors = function (settings) {
var tableRows = document.getElementById(settings.tableId).getElementsByTagName('tr');

for (var i = 0; i < tableRows.length; i++) {
if (i % 2 === 0) {
tableRows.style.background = settings.evenColor;
} else {
tableRows.style.background = settings.oddColor;
}
}
};

alternatingTableRowColors({
tableId: 'tableId',
evenColor: '#00ff00',
oddColor: '#ff0000'
});

}());
[/src]

Edit: Vermutlich wär's mit Klassen sinnvoller, aber so geht's.
 

gelöschter Benutzer

Guest

G
Re: [CSS / PHP] Jede zweite Zeile anders, aber aus einer CSS-Datei

Dann aber bitte zusätzlich zum CSS3.

Javascript für Styling? *Haare rauf* So weit sind wir anscheinend schon!
 

LemonDrops

Neu angemeldet

Registriert
20 Juli 2013
Beiträge
543
Re: [CSS / PHP] Jede zweite Zeile anders, aber aus einer CSS-Datei

@phre4k: Das ist ne ganz normale Sache und oft führt auch kein Weg daran vorbei, wenn man man Kompatibilität, oder Flexibilität braucht.
 

evillive

EXIL

Registriert
24 Juli 2013
Beiträge
930
Re: [CSS / PHP] Jede zweite Zeile anders, aber aus einer CSS-Datei

@LemonDrops:

Man muss sich halt für Performance oder Lesbarkeit entscheiden. Bevor ich anfange alles in Javascript selber schreibe nutze ich lieber jquery.
 

LemonDrops

Neu angemeldet

Registriert
20 Juli 2013
Beiträge
543
Re: [CSS / PHP] Jede zweite Zeile anders, aber aus einer CSS-Datei

@evillive: Ich habe kein Problem mit jQuery, aber man muss keine riesige Lib laden, um einen CSS Backfall zu haben.


jQuery hat btw nichts mit besserer Lesbarkeit zu tun, sondern mit fertigen, kompatiblen Implementationen von Standardmethoden und daraus folgender, kürzerer Entwicklungszeit. Niemand programmiert lesbarer mit jQuery, wenn er nicht genauso lesbar ohne jQuery programmiert. Software ist entweder schlecht entworfen, oder nicht. Das ist völlig unabhängig von Sprache oder Framework.
 
Zuletzt bearbeitet:

evillive

EXIL

Registriert
24 Juli 2013
Beiträge
930
Re: [CSS / PHP] Jede zweite Zeile anders, aber aus einer CSS-Datei

Du willst mir doch nicht erzählen das der Code in Posting #7 einfacher zu lesen ist als in #5

Ich hatte doch geschrieben:

Bevor ich anfange alles in Javascript selber zu schreiben nutze ich lieber jquery.

D.h. wenn man viel Javascirpt verwendet. Dann lohnt es sich jquery zu verwenden.

Niemand programmiert lesbarer mit jQuery, wenn er nicht genauso lesbar ohne jQuery programmiert.

ja niemand außer Coca-Cola ;)
 

LemonDrops

Neu angemeldet

Registriert
20 Juli 2013
Beiträge
543
Re: [CSS / PHP] Jede zweite Zeile anders, aber aus einer CSS-Datei

Die Lesbarkeit von Code, hat nichts mit seiner Länge zu tun. Davon abgesehen vergisst du, dass ich nicht nur Methoden aufrufe, sondern eine Funktion vorher erstelle. Du kannst dir gerne den Code ansehen, der Hinter den jQuery Methoden steht, die Coca-Cola nutzt. Vermutlich würde man einfach eine Methode schreiben, die das verhalten simuliert, die man wiederverwenden kann. Würde ich meinen Code nutzen, so wie Coca Cola den von jQuery, sähe das dann z. B. so aus:

[src=javascript]custom.cssFallbacks.nthChild(settings);[/src]

Oh mein Gott jetzt ist der Code viel einfacher und besser, weil's nur eine Zeile ist! (Ist natürlich Unsinn)

Der Vorteil von mein Code ist, dass man sofort weiß was er macht und wozu, wenn man den Namen der Methode/Funktion aufruft bzw. ließt. Bei Coca Cola weißt du gar nichts. Du siehst was der Code tut, weißt aber nicht was er erreichen soll, dem entsprechen weißt du auch nicht, ob er tut, was er soll. Dafür braucht man ordentliche Namen. Wenn man solchen Code schreibt weiß man nach einer Woche nicht mehr was Sache ist und das sollte man bei Codebeispielen berücksichtigen. Jemand wird diesen Code nutzen und kopieren. Dazu kommt noch, dass der Code einfach schlecht ist.


Besser: http://jsfiddle.net/xXz3d/

[src=javascript]
(function ($) {

var markOddEvenTablerowsWithClass = function (tableSelector) {
var tableRows = $(tableSelector).find('tr');

tableRows.each(function (index) {
if (index % 2 === 0) {
$(this).addClass('even');
} else {
$(this).addClass('odd');
}
});
};

$(document).ready(function () {
markOddEvenTablerowsWithClass('#tabelle');
});

}(window.jQuery));
[/src]


* Der neue Code sorgt erst einmal dafür, dass er auf jeden Fall auch eine Referenz zu jQuery auf '$' findet. Davon kann man nicht ausgehen.
* Dann gibt es absolut keinen Grund allen Code an ein Event zu knüpfen, das verlangsamt nur den Aufbau der Seite.
* Aus den zwei viel zu komplexen Querys macht der Code einen einfachen Query (Performance), der dann gefiltert (Performance) und gecacht (Performance) wird .
* Dann kann ich einmal durch alle meine gehen Objekte und nutze den Index um herauszufinden welche Gerade, oder Ungerade sind. Etwas anderes kann jQuery in den Browsern, für die dieser Backfall ist, auch nicht machen. Im Gegensatz zu Coca-Colas Code muss ich das hier aber nur einmal machen und nicht zweimal.

Wenn man einen Backfall für alte, langsame Browser schreibt, ist die Performance schon relevant. Schwer zu lesen ist der neue Code auch nicht (Es sein denn man kann kein Java Script.)


D.h. wenn man viel Javascirpt verwendet. Dann lohnt es sich jquery zu verwenden.

Vielleicht ja, pauschal nein.
 
Zuletzt bearbeitet:

evillive

EXIL

Registriert
24 Juli 2013
Beiträge
930
Re: [CSS / PHP] Jede zweite Zeile anders, aber aus einer CSS-Datei

@LemonDrops:

ja du bekommst es hin besseren Code zu schreiben als die jquery Entwickler. Aber werden das auch andere hinbekommen?
Darum geht es.
 

LemonDrops

Neu angemeldet

Registriert
20 Juli 2013
Beiträge
543
Re: [CSS / PHP] Jede zweite Zeile anders, aber aus einer CSS-Datei

Ich schreibe keinen besseren Code als die jQuery Entwickler. jQuery ist ein Werkzeug und so verwende ich es, anstatt es anstelle von JavaScript zu benutzen. Darum komme ich zu besseren Ergebnissen.
 

accC

gesperrt

Registriert
14 Juli 2013
Beiträge
5.250
Re: [CSS / PHP] Jede zweite Zeile anders, aber aus einer CSS-Datei

ja du bekommst es hin besseren Code zu schreiben als die jquery Entwickler. Aber werden das auch andere hinbekommen?
Es geht nicht nur darum, ob der Code "besser" ist, jQuery ist einfach ein riesiges Framework und für eine kleine Internetseite, auf der man bspw. nur eine abwechselnde Färbung für Tabellenzeilen möchte, schlicht overkill. Andere Frage: Wieso fährst du eigentlich mit einem Benziner/Diesel-Verbrennungsmotor in deinem Auto herum. So ein Raketenantrieb, wie er für Raumschiffe verwendet wird ist doch viel besser?! Vielleicht weil für deinen kleinen Wagen so ein riesiger Raketenantrieb der totale Overkill wäre? Ich hoffe natürlich, dass ich mich jetzt nicht zu sehr aus dem Fenster gelehnt habe und du deinen Wagen tatsächlich derart ausgestattet hast. ;)

Um es konkreter zu sagen, warum sollte ich 100KB lib einbinden und dann noch eine entsprechende Funktion schreiben, wenn ein 40byte
[src=css]tr:nth-child(even){}
tr:nth-child(odd){}[/src]
ausreicht?
Dadurch wird die Qualität des Codes nicht besser und schneller geladen wird die Seite schon 3x nicht.

Ich schreibe keinen besseren Code als die jQuery Entwickler. jQuery ist ein Werkzeug und so verwende ich es, anstatt es anstelle von JavaScript zu benutzen. Darum komme ich zu besseren Ergebnissen.
Wenn du jQuery verwendest, dann schreibst du trotzdem JavaScript. -.-" jQuery ist keine Sprache sondern lediglich eine Bibliothek..
 

evillive

EXIL

Registriert
24 Juli 2013
Beiträge
930
Re: [CSS / PHP] Jede zweite Zeile anders, aber aus einer CSS-Datei

@accC:

Mein Kontext war ein anderer. Jetzt zum dritten mal:

Bevor ich anfange alles in Javascript selber zu schreiben nutze ich lieber jquery.

So und wenn er nun meint besser zu sein als die Jquery Entwickler oder aus welchen Gründen auch immer, dann kann er sein eigenes JavaScript Framework schreiben.

Du fährst doch nicht mit einem selbst gebauten Auto rum oder?
 

epiphora

aus Plastik
Veteran

Registriert
14 Juli 2013
Beiträge
3.894
Ort
DE-CIX
Die Beiträge dieses Threads stammen aus einem anderen Thread

@dexter: Weil jQuery nicht geladen wurde. Ansonsten funktioniert es aber. Wobei vor [kw]$this[/kw] noch ein [kw]var[/kw] fehlt, weil es ja ansonsten global ist.
 
Zuletzt bearbeitet:

accC

gesperrt

Registriert
14 Juli 2013
Beiträge
5.250
Re: [CSS / PHP] Jede zweite Zeile anders, aber aus einer CSS-Datei

So und wenn er nun meint besser zu sein als die Jquery Entwickler oder aus welchen Gründen auch immer, dann kann er sein eigenes JavaScript Framework schreiben.
Was ist denn für dich besser?
Heißt besser schneller? Heißt besser komprimierter (weniger Speicherplatz)? Heißt besser sicherer?
Es gibt schlechten Code, es gibt aber mit Sicherheit keinen allgemein besten Code. Ein Framework ist nicht immer die beste Lösung, egal ob man sich jQuery nimmt oder selbst etwas zusammen schreibt und es dann imbalolxd nennt.
Besser kann es immer nur auf einen ganz expliziten Fall unter fest gesetzten Gesichtspunkten geben. Das geschilderte Problem Tabelle mit über Zeilen wechselnden Hintergrundfarben wird von einem Zweizeiler in CSS gelöst. Betrachten wir das vom Speicherplatz/Traffic her, ist klar, dass 40 Byte (CSS 2-zeiler) besser sind, als 100.000 Byte (jQuery Framework). Ich schätze mal unter dem Gesichtspunkt der Browserunabhängigkeit könnte die jQuery-Lösung gewinnen, sofern ein korrekter fallback für nicht CSS3-fähige Browser unterstützt wird (nth-child ist afaik erst seit CSS3 verfügbar).
Da muss man eben abwägen, was nun wichtiger ist, ein paar Byte Traffic oder weniger hübsche Darstellung für ein paar Randgruppen-Browser, die ohnehin verboten werden sollten.

Du fährst doch nicht mit einem selbst gebauten Auto rum oder?
Dein Vergleich hinkt. Du kannst sowohl eine jQuery-Lösung, als auch eine selbstgebaute Lösung verwenden, um der Problemstellung des TS zu begegnen. In der Regel verfügst du aber nicht über die Voraussetzungen, um dir ein Auto selbst zusammen zu bauen. Um deine Frage also zu beantworten, muss ich unterstellen, dass ich über die nötigen Kenntnisse und Ressourcen verfügen würde und dann würde ich tatsächlich mit einem selbst gebauten Auto herum fahren. Der Grund ist schlicht, dass es günstiger ist sich die Bauteile liefern zu lassen und das Auto selbst zusammen zu bauen, als für die Zusammenbau-Leistung zu zahlen. Außerdem wäre ich wahrscheinlich freier in der Komponentenauswahl. Wie du siehst habe ich hier jetzt aber auch wieder einen ganz bestimmten Aspekt betrachtet (Kostenfaktor). Unter dem Gesichtspunkt Geschwindigkeit würde ich wahrscheinlich auf das Fertigauto zurück greifen, weil ich wahrscheinlich alleine doch ein bisschen länger bräuchte, um ein ganzes Auto zusammen zu bauen.
 

evillive

EXIL

Registriert
24 Juli 2013
Beiträge
930
Re: [CSS / PHP] Jede zweite Zeile anders, aber aus einer CSS-Datei

@accC:

noch mal
Bevor ich anfange alles in Javascript selber zu schreiben nutze ich lieber jquery.

Nur für die Geschichte mit der Farbe würde ich jquery nicht verwenden.

Was ich mit besser meinte ist die Entscheidung, ob ich selbst (sehr viele) JavaScript Funktionen selber schreibe, weil ich denke es besser machen zu können. Oder ob ich jquery nehme. Bei jquery kann man ja immer noch seinen eigenen Code schreiben.

Bei meinem Vergleich mit dem Auto ging es draum: vorhandenes Framework verwenden oder selbst ein vergleichbares schreiben.
 

gelöschter Benutzer

Guest

G
Re: Zur Frage, ob es Sinn macht, Javascript/jQuery als Fallback zum Styling zu verwen

Kommt doch echt auf die Seite an. Wenn durch JS Funktionalität in einer kontrollierbaren Umgebung (Firmennetzwerk, Rechnungs-App, ...) bereitgestellt wird und die Seite degradiert, spricht überhaupt nichts dagegen.

Nur für zwei kleine Detailverbesserungen 90kB jQuery einzubinden ist aber auch ein wenig lächerlich.
 

LemonDrops

Neu angemeldet

Registriert
20 Juli 2013
Beiträge
543
Re: [CSS / PHP] Jede zweite Zeile anders, aber aus einer CSS-Datei

@accC: Mir ist bewusst das jQuery eine Bibliothek ist. Worum es bei der Aussage geht ist, dass es Leute gibt, die meinen alles nur mit der Funktionalität dieser Bibliothek machen zu müssen.

@evillive: Du verstehst nicht was ich sagen will und ich weiß auch nicht wie ich es sonst erklären soll.

Wie dem auch sei, jQuery ist dem Tode geweiht. jQuery wurde entwickelt, weil die Browser inkonsistent waren. Das betraf nicht unbedingt nur JS, sondern auch das DOM und APIs. Die Zeiten in denen das so ist, sind langsam vorbei. Die Browser arbeiten sehr konsistent und jQuery ist oft einfach obsolet. Frameworks wie AngularJS bieten viel bessere Konzepte und bessere Abstraktion, bei weniger Code. Niemand möchte eine komplexere App mit jQuery schreiben, es sei denn er ist verrückt, oder weiß es nicht besser. Es wird Zeit Java Script zu lernen.
 
Oben