Position in Abhängigkeit einer Tabelle
Stefan
- javascript
Hallo!
Es geht um folgendes einfaches Prinzip:
Man klickt auf ein Bild und neben diesem Bild erscheint ein dazugehöriger Text, man klickt auf ein darunter stehendes Bild und der eine Text verschwindet, ein neuer erscheint an gleicher Stelle.
Noch nichts besonderes. Es lebe visible bzw. hidden
Die Textpositionen habe ich mit mit absoluten Positionierungen.
Nur gibt es jetzt das Problem, dass über diesen Grafiken und dazugehörigen Texten von Woche zu Woche unterschiedlich viel Text stehen soll, ich also mit diesen absoluten Positionierungen nicht weiter komme. Kann ich also diese X und Y Angaben der Positionierung auch von einer Tabelle (mit Tabellennamen) abhängig machen oder geht das wirklich nur vom Browserrand aus?
Wäre schön, wenn mir da jemand helfen könnte.
Danke schön.
Noch nichts besonderes. Es lebe visible bzw. hidden
In dem Fall dürfte display eher geeignet sein, da die visibility Eigenschaft nur das Element versteckt, aber nicht deren Platz freigibt.
Die Textpositionen habe ich mit mit absoluten Positionierungen.
Nur gibt es jetzt das Problem, dass über diesen Grafiken und dazugehörigen Texten von Woche zu Woche unterschiedlich viel Text stehen soll, ich also mit diesen absoluten Positionierungen nicht weiter komme.
Wieso nicht?
Kann ich also diese X und Y Angaben der Positionierung auch von einer Tabelle (mit Tabellennamen) abhängig machen oder geht das wirklich nur vom Browserrand aus?
Du kannst alles von allem Abhängig machen, wo ist das Problem?
Struppi.
Hallo!
Das Problem ist, dass ich nicht weiß, wo ich hier die z.B. Tabellenabhänigigkeit rein schreiben muss.
Der Plan: Diese benannten Bilder und erscheinenden Texte in eine einzelne Tabelle zu schmeißen, alles andere auf der Seite in andere Tabellen.
Die Texte stehen übrigens in Div-Bereichen, die ein und ausgeblendet werden.
#text1 {position: absolute; visibility: hidden; left: 405px; top: 850px;}
**************************
Noch nichts besonderes. Es lebe visible bzw. hidden
In dem Fall dürfte display eher geeignet sein, da die visibility Eigenschaft nur das Element versteckt, aber nicht deren Platz freigibt.
Die Textpositionen habe ich mit mit absoluten Positionierungen.
Nur gibt es jetzt das Problem, dass über diesen Grafiken und dazugehörigen Texten von Woche zu Woche unterschiedlich viel Text stehen soll, ich also mit diesen absoluten Positionierungen nicht weiter komme.Wieso nicht?
Kann ich also diese X und Y Angaben der Positionierung auch von einer Tabelle (mit Tabellennamen) abhängig machen oder geht das wirklich nur vom Browserrand aus?
Du kannst alles von allem Abhängig machen, wo ist das Problem?
Struppi.
Bitte zitiere so, dass man lesen kann worauf du deine Aussage beziehst und lass nur das stehen. Danke.
Das Problem ist, dass ich nicht weiß, wo ich hier die z.B. Tabellenabhänigigkeit rein schreiben muss.
Was heißt hier?
Der Plan: Diese benannten Bilder und erscheinenden Texte in eine einzelne Tabelle zu schmeißen, alles andere auf der Seite in andere Tabellen.
Was soll das bedeuten? auch wenn ich einen Teil der Wörter deuten kann, solltest du versuchen dich so auszudrücken, dass deine Pläne allgemein verständlich sind.
Die Texte stehen übrigens in Div-Bereichen, die ein und ausgeblendet werden.
Das ist mir klar.
#text1 {position: absolute; visibility: hidden; left: 405px; top: 850px;}
Das ist CSS, du hast als Themenbereich JS gewählt, in deinem Titel steht etwas von Flash. Mir will nicht einleuchten was du willst.
Vielleicht möchtest du mal die Tipps für Fragende durchlesen und versuchen eine Frage zu formulieren die man möglicherweise auch beantworten kann.
Struppi.
Boah, wenn du keine Lust hast in einem Forum zu diskutieren, sondern lieber rumschnauzt, hast du echt ein Problem.
Wo steht was von Flash?
Was ist will steht klar dort, die ganze Logik mit dem Ein- und Ausblenden ist in JS geschrieben. Natürlich wäre es schön, wenn man auch diese Positionierung in JS machen kann. Momentan ist es CSS, richtig. Keine Ahnung ob es anders geht. Wenn ich wüsste wie und mit welcher Methode/Sprache müsste ich hier nicht anfragen.
Tu mir bitte einen Gefallen und vergiss diesen Eintrag. Antworte mir nicht. Vielleicht gibt es einen weniger frustrierten Besucher, der mir helfen kann.
Nichts für ungut.
Bitte zitiere so, dass man lesen kann worauf du deine Aussage beziehst und lass nur das stehen. Danke.
Das Problem ist, dass ich nicht weiß, wo ich hier die z.B. Tabellenabhänigigkeit rein schreiben muss.
Was heißt hier?
Der Plan: Diese benannten Bilder und erscheinenden Texte in eine einzelne Tabelle zu schmeißen, alles andere auf der Seite in andere Tabellen.
Was soll das bedeuten? auch wenn ich einen Teil der Wörter deuten kann, solltest du versuchen dich so auszudrücken, dass deine Pläne allgemein verständlich sind.
Die Texte stehen übrigens in Div-Bereichen, die ein und ausgeblendet werden.
Das ist mir klar.
#text1 {position: absolute; visibility: hidden; left: 405px; top: 850px;}
Das ist CSS, du hast als Themenbereich JS gewählt, in deinem Titel steht etwas von Flash. Mir will nicht einleuchten was du willst.
Vielleicht möchtest du mal die Tipps für Fragende durchlesen und versuchen eine Frage zu formulieren die man möglicherweise auch beantworten kann.
Struppi.
Boah, wenn du keine Lust hast in einem Forum zu diskutieren, sondern lieber rumschnauzt, hast du echt ein Problem.
Ich habe dir freundlich und ausführlich gesagt wo das Problem ist.
Wo steht was von Flash?
Da hab ich tatsächlich den falschen Titel gelesen, sorry.
Was ist will steht klar dort, die ganze Logik mit dem Ein- und Ausblenden ist in JS geschrieben. Natürlich wäre es schön, wenn man auch diese Positionierung in JS machen kann. Momentan ist es CSS, richtig. Keine Ahnung ob es anders geht. Wenn ich wüsste wie und mit welcher Methode/Sprache müsste ich hier nicht anfragen.
Bisher steht noch nichts irgendwo klar und logisch, ausser deinem Versuch zu beschreiben was nur du allein bisher weißt, wie nämlich dein bisheriger Ansatz aussieht. Da keiner hier hellsehen kann, ist es nicht möglich dir zu helfen, zumindest nicht mehr als ich es bisher versucht habe.
Tu mir bitte einen Gefallen und vergiss diesen Eintrag. Antworte mir nicht. Vielleicht gibt es einen weniger frustrierten Besucher, der mir helfen kann.
Wieso frustriert? Ich versuch dir zu helfen, der einzige der bisher Frustriert klingt bist du, aber da du gar nicht willst das man dir hilft tu ich dir gerne den gefallen.
Bitte zitiere so, dass man lesen kann worauf du deine Aussage beziehst und lass nur das stehen. Danke.
Zumal du dir nicht mal die Mühe machst ein paar Grundlegende Dinge zu beachten, die die Kommunikation hier erleichtern.
Vielleicht möchtest du mal die Tipps für Fragende durchlesen und versuchen eine Frage zu formulieren die man möglicherweise auch beantworten kann.
und dir das vermutlich auch nicht durchgelesen hast.
Stänker ruhig weiter rum
Struppi.
OK, es wird ja anscheinend eine etwas längere Diskussion.
Vielleicht habe ich wirklich etwas in den flaschen Hals bekommen - habe mich aber echt angegriffen gefühlt.
Vielleicht, weil ich schon die ganze Nacht an diesem Projekt sitz, total übermüdet bin und dafür auch keine Dankbarkeit erwarten kann.
Egal, das ist mein Problem.
Ich wollte auf jeden Fall niemanden ungerecht behandeln und falls es so gekommen ist, tut es mir echt leid.
Was mein Problem angeht, versuche ich ausführlich aufzuschreiben:
In einem CMS-Ähnlichen System soll von Leuten, die noch weniger Ahnung haben als ich der Content aller Seiten gepflegt werden (leider kann ich noch keine URL angeben).
Auf einer Seite soll als kleine "Spielerei" eine Anordnung (entweder untereinander oder im Kreis) von Bildern erscheinen. Jedem Bild ist ein Info-Text zugeordnet, der länger ist, als das Bild.
Dementsprechend müssen die verschiedenen Texte immer an der gleichen Stelle stehen. Also entweder immer in Höhe des oberen Bildes anfangen oder immer Mitten in der kreisförmigen Anordnung der Bilder.
Momentan habe ich das Problem so gelöst, dass ich die Info-Textposition mittels der beschriebenen CSS-Anweisung absolut festgesetzt und mit einem kleinen JavaScript die verschiedenen Div-Bereiche, in denen die Info-Texte stehen ein- bzw. ausgeblendet habe.
Wenn jetzt allerdings die Redakteure, die wie geschrieben noch weniger können als ich, über dieser Grafikanordnung Texte einpflegen oder kürzen, komme ich natürlich mit dieser absoluten Positionierung nicht mehr klar; der Info-Text steht nicht mehr mittig oder sogar mitten auf den Grafiken oder anderem Content.
Die Frage ging deshalb in die Richtung, ob ich sagen kann, dass der InfoText z.B. 50px rechts neben der obersten Grafik anfangen kann oder absolut vertikal 200px und horizontal 150px von der Ecke (Anfangspunkt) einer Tabelle, in der diese "Spielerei" steht.
Dann könnten die Redakteure ihre anderen Texte vor diese Tabelle schreiben und man hätte keinen Anpassungsbedarf mehr.
Da dieses CMS nur begrenzt JS, DHTML, und überhaupt kein Flash zulässt, bin ich schon froh, dass mein Script an sich funktioniert und somit die größte Hürde genommen ist. Wenn das mit den Positionen klappt, hätte ich alles fertig.
Ich hoffe, diese Ausführung war ausreichend und jemand kann mir helfen.
Nochmals Sorry und Danke für mögliche Antworten.
Hallo Stefan,
Auf einer Seite soll als kleine "Spielerei" eine Anordnung (entweder untereinander oder im Kreis) von Bildern erscheinen. Jedem Bild ist ein Info-Text zugeordnet, der länger ist, als das Bild.
Dementsprechend müssen die verschiedenen Texte immer an der gleichen Stelle stehen. Also entweder immer in Höhe des oberen Bildes anfangen oder immer Mitten in der kreisförmigen Anordnung der Bilder.
Wieso, wenn der Erklärungstext absolut positioniert ist, kann er doch auch jeweils auf Höhe des Bildes erscheinen, auf das er sich bezieht. Das hat doch gerade aufgrund der absoluten (losgelösten) Positionierung dann keinerlei Einfluss auf die Position der nachfolgenden Elemente.
Momentan habe ich das Problem so gelöst, dass ich die Info-Textposition mittels der beschriebenen CSS-Anweisung absolut festgesetzt und mit einem kleinen JavaScript die verschiedenen Div-Bereiche, in denen die Info-Texte stehen ein- bzw. ausgeblendet habe.
Du meinst absolut positioniert am Viewport (der oberen linken Fensterecke?)
Du kannst aber auch absolut in Bezug auf das angeklickte Element positionieren, wenn dieses nicht selbst static (Defaultwert) positioniert ist. Setze dieses anzuklickende Element also einfach auf position:relative;
, dann kannst du daran auch ein Kindelement absolut positionieren.
Wenn jetzt allerdings die Redakteure, die wie geschrieben noch weniger können als ich, über dieser Grafikanordnung Texte einpflegen oder kürzen, komme ich natürlich mit dieser absoluten Positionierung nicht mehr klar; der Info-Text steht nicht mehr mittig oder sogar mitten auf den Grafiken oder anderem Content.
Wenn du nicht das angeklickte Element relativ positionierst, sondern stattdessen ein anderes Vorfahrenselement dieses anzuklickenden Elements, dann kannst du die Kindelemente des angeklickten, fokussierten oder gehoverten Elementes auch an dessen erstem abweichend von static positioniertem Vorfahrenselement ausrichten; das kann ggf. auch eine Tabelle sein, in der sich die Schalt-Elemente befinden.
Ich habe da mal vor zwei Jahren mal ganz ohne Tabnelle eine Beispielseite für einen anderen Fragesteller gebaut. Dabei ging es umgekehrt darum, Bilder bei Hover neben unterschiedlich positionierten Texten einzublenden. Vielleicht inspiriert dich das:
http://www.sprachlernspiele.de/selftests/ser4phim/index.html
Gruß Gernot
Hallo,
Boah, wenn du keine Lust hast in einem Forum zu diskutieren, sondern lieber rumschnauzt, hast du echt ein Problem.
bei deinem konfusen Schreibstil kann ich ihm seine Reaktion nicht mal übelnehmen. Und wie man anständig zitiert, möchtest du anscheinend auch nicht zur Kenntnis nehmen. TOFU ist jedenfalls eine der nutzlosesten Methoden.
Wo steht was von Flash?
Nirgends, das steht einen Thread weiter oben, da ist Struppi wohl in der Zeile verrutscht.
Was ist will steht klar dort, die ganze Logik mit dem Ein- und Ausblenden ist in JS geschrieben. Natürlich wäre es schön, wenn man auch diese Positionierung in JS machen kann.
Nein, die Positionierung machst du auch weiterhin mit CSS, aber natürlich kannst du mit JS die style-Eigenschaften manipulieren - so wie du es jetzt wohl schon mit visibility machst.
Absolute Positionierung bezieht sich übrigens auf das nächste Vorfahrenelement, dessen eigene Positionsangabe vom Defaultwert static abweicht. Ergo: Wenn du die Positionsangabe auf ein _bestimmtes_ Vorfahrenelement beziehen möchtest, setze dessen position-Eigenschaft im einfachsten Fall auf relative.
Tu mir bitte einen Gefallen und vergiss diesen Eintrag. Antworte mir nicht. Vielleicht gibt es einen weniger frustrierten Besucher, der mir helfen kann.
Tu dir und uns bitte einen Gefallen und nimm solche Antworten ernst. Überlege, ob es nicht auch an dir liegen könnte. Deine Postings sind derart wirr und schwer zu verstehen, dass eine Rückfrage nach mehr Deutlichkeit zwangsläufig kommen musste.
So long,
Martin
Hallo Martin,
Frauen sind wie Elektrizität: Fasst man sie an, kriegt man eine gewischt.
Hast du beim Indefinitpronomen vielleicht ein "n" vergessen-------^
und beim letzten Wort möglicherweise einen Buchstabendreher drin-------^^^?
Aber vielleicht irre ich mich ja, ich bin ja von dieser Materie gänzlich unbeleckt.
Gruß Gernot
Hallo Gernot,
Frauen sind wie Elektrizität: Fasst man sie an, kriegt man eine »» Hast du beim Indefinitpronomen vielleicht ein "n" vergessen-------^
und beim letzten Wort möglicherweise einen Buchstabendreher drin-------^^^?
nee, des g'hört so.
Aber vielleicht irre ich mich ja, ich bin ja von dieser Materie gänzlich unbeleckt.
Ich weiß. ;-)
Trotzdem -oder gerade drum- danke für diesen Beitrag zum Schmunzeln.
Schönen Sonntag noch,
Martin
Hallo Stefan,
Wo steht was von Flash?
Nirgendwo, aber in dem von Marco (der just vor deinem eröffnete Thread), der einem angesichts von unsinnigen, aus grauer Vorzeit stammenden, vollkommen navigator.appName-Abfragen schon die Lust am Antworten vergällen kann. Wenn dann in deinem Thread auch noch was von Tabelle in Tabelle "schmeißen" steht;
Der Plan: Diese benannten Bilder und erscheinenden Texte in eine einzelne Tabelle zu schmeißen, alles andere auf der Seite in andere Tabellen.
, kann man das seinerseits auch mal leicht in einen Topf schmeißen.
Beides frustriert in der Tat auch mich.
Was ist will steht klar dort, die ganze Logik mit dem Ein- und Ausblenden ist in JS geschrieben. Natürlich wäre es schön, wenn man auch diese Positionierung in JS machen kann. Momentan ist es CSS, richtig.
Positionierung ist doch die Domäne von CSS und nicht von JavaScript, wenn es nicht gerade auch noch animiert sein soll. Auch Ein- und Ausblenden geht mit den Pseudoklassen :hover, :focus oder :active ganz ohne JavaScript, es sei denn, man nutzt dafür kein geeignetes Element und/oder den Internet-Explorer oder man will etwas an einer ganz anderen Stelle ein- und ausblenden, die mit der Stelle des Links über den man hovert in keinerlei Bezug steht.
Erst in einer dieser ungünstigen Konstellationen muss JavaScript ins Spiel kommen.
Wie das jetzt bei deinem Vorhaben aussieht, wissen wir aber immer noch nicht. Du schreibst etwas von:
Man klickt auf ein Bild und neben diesem Bild erscheint ein dazugehöriger Text, man klickt auf ein darunter stehendes Bild und der eine Text verschwindet, ein neuer erscheint an gleicher Stelle.
Meinst du wirklich an "gleicher" Stelle also z.B jeweils bezogen auf die unterschiedlichen Bilder an entsprechender Stelle rechts daneben oder direkt darunter oder meinst du, der Text soll unabhängig von dem angeklickten Bild immer an derselben Stelle bezogen auf die die Bilder umschließende Tabelle stehen?
Tu mir bitte einen Gefallen und vergiss diesen Eintrag. Antworte mir nicht. Vielleicht gibt es einen weniger frustrierten Besucher, der mir helfen kann.
Ich würde an deiner Stelle nicht so leichtfertig auf Struppis Hilfe verzichten. Der gibt hier nämlich gerade auch in Sachen JavaScript mit die besten und ausführlichsten Tipps.
Gruß Gernot
Hallo Stefan,
Kann ich also diese X und Y Angaben der Positionierung auch von einer Tabelle (mit Tabellennamen) abhängig machen oder geht das wirklich nur vom Browserrand aus?
Du meinst von den einzelnen Zellen, die sich in der Tabelle befinden?
Das geht nur indirekt, indem du zunächst ein relativ positioniertes Element als Mutterelement in die Zelle hineinschachtelst, an dem wiederum sich ein absolut positioniertes Kind-Element (Enkelkind-Element der Zelle) orientieren kann.
Beachte, dass das Vertical-Align der Zelle bei dieser Methode auf "top" gestellt werden sollte, da einige Browser ansonsten den Bezugspunkt für die absolute Positionierung in jedem Fall in der oberen linken Ecke der Tabellenzelle sehen, andere aber je nach Vertical-Align auch mal unten oder in der Mitte. Ob es sich bei vom Wert "left" abweichendem Text-Align ähnlich verhält, bliebe auszutesten.
Gruß Gernot