Hallo,
es geht wieder mal um mein Newsscript. Folgendes würde ich gerne an Funktion hinzufügen, was mir aber nicht möglich ist.
Die News werden im Form eingetragen, von dort aus an die work.php gesandt und dort per Arrays in die Datenbank geschrieben. Anschliessend mittels $ausgabe[artikel] auf der ausgabe.php wieder angezeigt. Nur würde ich gerne nach sagen wir 20zeichen ein "read more" machen, sprich das ich auf den link klicke und ich dann den restlichen Text sehe. Nun gibt es dafür ja eine php Funktion, leider hat mich google im stich gelassen oder ich bin zu doof zum suchen.
Hier wäre der das Javascript des Klapptextes:
[Code]
script language=\'JavaScript\'
function swap_content( span ) {
displayType = ( document.getElementById( span ).style.display == \'none\' ) ? \'block\' : \'none\';
document.getElementById( span ).style.display = displayType;
}
/script>
[/CODE]
Und hier der klapptext ansich:
[CODE]
a href="#" onclick="swap_content(\'1\'); return false;">Read More/a>br>
span id="1" style="display: none">br>
Ich bin die ganze News :-)/span>
[/CODE]
Wie einbauen ? Wie vorgehen ? ich müsste die news ja schon beim Senden teilen lassen oder ? irgendwie mit VARCHAR die Zeichen begrenzen und den rest in eine andere Zeile eintragen lassen oder ? Falsche überlegung ? desweiteren wird ja mit ID\'s gearbeitet, wie kann ich derm script sagen das es sich immer die aktuelle ID holt, und diese auch der news zuordnet, nicht damit ich auf die oberste news klicke, und sich die unterste öffnet ;) .. müsste ich doch jeder gleichzeitig eine ID zuweisen oder irre ich mich ?
HILFE ! :) Fragen über Fragen, keine Antworten
Gruß
Homepage selbermachen 7.846 Themen, 35.563 Beiträge
So wie dein Quelltext aussieht willst Du wohl mit JavaScript auf dem Client erst den Text "zerhacken", warum eigentlich? Wenn der User schon die Bandbreite Opfern mußte sich den ganzen Text vom Server zu laden, dann kannst Du ihn ihm auch gleich ganz zeigen, falls vom Design nichts dagegen spricht, die Ladezeit verkürzt das Ganze jedenfalls nicht.
Falls Du es doch unbedingt mit JavaScript auf dem Client lösen willst dann geht es folgendermaßen:
var sFullString="Der Text der vom Server kommt";
var sShortString=sFullString.substr(0,20);
Sinnvoller für bessere Ladezeiten ist es aber, wenn Du schon aus der Datenbank zuerst nur den Kurztext holst, und bei Bedarf vom Server dann den langen Text:
$sql="SELECT id,SUBSTRING(text,0,20) FROM tabelle ...";
und dann erst bei Bedarf den ganzen Text.