schließenbutton erstellen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • hallo 70abc,

    danke für die antwort :)

    ich hab es mal ausprobiert und im moment geht gar nichts mehr (siehe hier )
    dreamweaver sagt mir beim debugen im IE das ab hier (<!-- hier -->) etwas falsch ist:

    Quellcode

    1. if(types[i] != type && document.getElementById(types[i] + id) <!-- hier -->{
    2. document.getElementById(types[i] + id).display = 'none';
    3. }
    4. }
    5. }


    ich hatte mich für deine erste variante entschieden und später gemerkt das du beim befehl toogle zahlen zugewiesen hattest, die aber im script nicht vorkommen (für mich nicht zu sehen). in dem fall ist es die 15 vor 'Text'

    Quellcode

    1. "javascript:toggle(15, 'Text');"


    nun weiß ich nicht ob es damit etwas zu tun hat, das da nix funktioniert. ich müsste die dann, wie in dem fall die 15 in den div-zuweisungen mit einfügen :?:

    Quellcode

    1. <div id=15, "Text" class="container">


    ('container' ist die zuweisung für die sich schließenden divs)
  • "laco1" schrieb:


    Quellcode

    1. if(types[i] != type && document.getElementById(types[i] + id) <!-- hier -->{
    2. document.getElementById(types[i] + id).display = 'none';
    3. }
    4. }
    5. }



    Sorry, da fehlt eine Klammer:

    Quellcode

    1. if(types[i] != type && document.getElementById(types[i] + id)){
    2. document.getElementById(types[i] + id).display = 'none';
    3. }


    "laco1" schrieb:


    ich hatte mich für deine erste variante entschieden und später gemerkt das du beim befehl toogle zahlen zugewiesen hattest, die aber im script nicht vorkommen (für mich nicht zu sehen). in dem fall ist es die 15 vor 'Text'

    Quellcode

    1. "javascript:toggle(15, 'Text');"


    nun weiß ich nicht ob es damit etwas zu tun hat, das da nix funktioniert. ich müsste die dann, wie in dem fall die 15 in den div-zuweisungen mit einfügen :?:


    Nein, in die Divs musst Du nichts einfügen, die Divs haben doch schon IDs...

    70abc
    We raise hopes, here ... until they're old enough to fend for themselves.
    - Mike Callahan
  • ja, also dann text01 02 etc... ok

    die 15 hat also nichts mit den zuweisungen zu tun?

    Quellcode

    1. "javascript:toggle(15, 'Stills');"


    wenn ich 15 drin lasse öffnet sich gar nichts, lass ich sie weg öffnet sich der "klapptext"

    für den close-button habe ich jetzt folgenden code genommen. beim anklicken des buttons werden aber immer noch alle und nicht nur die angegebene id geschlossen z.b. 'Text' und 'Stills'

    Quellcode

    1. <a href=""javascript:closenfo('Stills');" ');"');"');"');"');"');"">


    merkwürdigerweise wurden diese mehrfachklammern dazugeneriert

    Quellcode

    1. ;" ');"');"');"');"');"');""




    nach etwas suchen bin ich noch auf eine funktion in eine.js datei einer anderen seite gestoßen - ich kann damit leider gar nichts anfangen, nur stand da darüber, das es eine funktion zum ein- und ausklappen eines elements ist. ich dachte nur, vielleicht kann man auch diese nutzen?

    Quellcode

    1. ////////// Element auf- oder zuklappen //////////////////////////////
    2. function popupOrHide(elementId) {
    3. with(document.getElementById(elementId).style) {
    4. if (display == 'block') display = 'none';
    5. else display = 'block';
    6. }
    7. }


    ich wüsste aber auch nicht wie da die id zuweisung funktioniert... :?:
  • "laco1" schrieb:

    ja, also dann text01 02 etc... ok

    die 15 hat also nichts mit den zuweisungen zu tun?

    Quellcode

    1. "javascript:toggle(15, 'Stills');"



    Deine Divs schaun doch so aus:

    Quellcode

    1. <div id="Text15" class="container">...
    2. </div>
    3. <div id="Stills15" style="display: none;"> ..
    4. </div>
    5. <div id="Text14" class="container">...
    6. </div>
    7. ...


    Die 15 hier

    Quellcode

    1. "javascript:toggle(15, 'Stills');"

    Steht für alle Divs wo die Zahl in der Id 15 ist, also "Text15", "Stills15".
    D.h. wenn Du obige Zele aufrufst, sollten alle Divs die mit 15 geschlossen werden und das Div "Stills15" sollte geöffnet werden.

    Der Button für die "14"-Divs müsste dann so aussehen:

    Quellcode

    1. "javascript:toggle(14, 'Stills');"


    70abc
    We raise hopes, here ... until they're old enough to fend for themselves.
    - Mike Callahan
  • "laco1" schrieb:

    hallo 70abc,

    es funktioniert zwar der schließmechanismus, aber leider nur global d.h. er schließt alle geöffenten texte trotz zuweisung

    Quellcode

    1. <a href=""javascript:closenfo(15, 'Stills');" ');"');"">

    oder

    Quellcode

    1. <a href=""javascript:closenfo(15, 'Text');" ');"');"">


    siehe hier
    hier


    Sorry, aber ich werde aus dem was Du da oben schreibst nicht wirklich schlau und wenn ich mir den Link anschaue, dann kann ich da nicht's erkennen, was mich an meinen Code erinnert.

    Mach doch mal eine Bsp-Seite mit nur zwei Elementen und dem von mir vorgeschlagenen Code und ich schau's mir dann mal an...

    Und schau Dir Deinen HTML-Code nochmal genau an, da sind immer noch Fehler drin...

    70abc
    We raise hopes, here ... until they're old enough to fend for themselves.
    - Mike Callahan
  • Hallo,

    ich hab mir jetzt mal die Mühe gemacht den original Code Deiner Seite runter zu laden und ein funtkionierendes Bsp mit zwei Filmen zu machen. Der Rest müsste dann analog angepasst werden.

    Bei der Gelegenheit würde ich mir mal überlegen den HTML-Code komplett zu überarbeiten...

    Quellcode

    1. <html>
    2. <head>
    3. <title>Martin D'Costa, Dschungelfilm, Kamera, Schnitt, Produktion - Alle Projekte</title>
    4. <link href="http://www.dschungelfilm.de/scripte/css.css" rel="stylesheet" type="text/css">
    5. <script language="JavaScript" src="http://www.dschungelfilm.de/scripte/java.js" type="text/JavaScript"></script>
    6. <script type="text/javascript">
    7. function toggle(id, type)
    8. {
    9. types = new Array('Text', 'Stills');
    10. var ans = document.getElementById(type + id);
    11. var strId;
    12. if (ans) {
    13. if (ans.style.display != 'block') {
    14. ans.style.display = 'block';
    15. } else {
    16. ans.style.display = 'none';
    17. }
    18. }
    19. for (var i = 0; i < types.length; ++i) {
    20. strId = types[i] + id;
    21. if(types[i] != type && document.getElementById(strId)) {
    22. document.getElementById(strId).style.display = 'none';
    23. }
    24. }
    25. }
    26. </script>
    27. </head>
    28. <body onLoad="MM_preloadImages('http://www.dschungelfilm.de/bilder/testg.jpg','http://www.dschungelfilm.de/bilder/tests.jpg')">
    29. <div align="left">
    30. <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="560" id="AutoNumber1">
    31. <tr>
    32. <td width="80">&nbsp;</td>
    33. <td width="85" rowspan="2">&nbsp;</td>
    34. <td width="40" height="30" rowspan="2" colspan="4">
    35. <img border="0" src="http://www.dschungelfilm.de/bilder/thumbs/2006_Ich_bin/Ich_bin.jpg" width="43" height="24">
    36. </td>
    37. <td width="355" height="7">
    38. <p style="margin-left: 10"><b>FOTOS: "ICH BIN FÜR DICH DA"</b></p>
    39. </td>
    40. </tr>
    41. <tr>
    42. <td width="80">&nbsp;</td>
    43. <td width="355" height="8"><p style="margin-left: 10">Musikvideo / 2006</p></td>
    44. </tr>
    45. <tr>
    46. <td width="80">&nbsp;</td>
    47. <td width="85">&nbsp;</td>
    48. <td width="8" height="12">
    49. <a href="javascript:toggle(15, 'Text');" title="info" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image48','','http://www.dschungelfilm.de/bilder/testg.jpg',1)">
    50. <img name="Image48" border="0" src="http://www.dschungelfilm.de/bilder/tests.jpg" width="4" height="12">
    51. </a>
    52. </td>
    53. <td width="8" height="12">
    54. <a href="javascript:toggle(15, 'Stills');" title="stills" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image47','','http://www.dschungelfilm.de/bilder/testg.jpg',1)">
    55. <img name="Image47" border="0" src="http://www.dschungelfilm.de/bilder/tests.jpg" width="4" height="12">
    56. </a>
    57. </td>
    58. <td width="8" height="12">
    59. <a href="#" onClick="MM_openBrWindow('http://www.dschungelfilm.de/filme/ich_bin.html','','width=325,height=290')" title="film" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image46','','http://www.dschungelfilm.de/bilder/testg.jpg',1)">
    60. <img name="Image46" border="0" src="http://www.dschungelfilm.de/bilder/tests.jpg" width="4" height="12">
    61. </a>
    62. </td>
    63. <td width="16" height="12">
    64. <td width="355" height="12">&nbsp;
    65. </tr>
    66. <tr>
    67. <td width="80">&nbsp;</td>
    68. <td width="85">&nbsp;</td>
    69. <td width="40" colspan="4">&nbsp;</td>
    70. <td width="355">
    71. <div id="Text15" class="container">
    72. <font color="#999933"><b>INFO</b></font><br>
    73. Nachfolger der Single „Giganten“. Ein actionreiches, mehrfach ironisch
    74. gebrochenes Box-Video, in dem die angeschlagene Band von einer verdammt
    75. coolen Frau ordentlich auf die Fresse kriegt...<br>
    76. <font color="#FFFFFF"><b><span style="background-color: #999933">Kamera</span></b></font><span style="background-color: #999933"><font color="#FFFFFF">
    77. / 4 min., DigiBeta, gedreht auf 16mm / für Labels Musik & Filmlounge
    78. Berlin / Regie: Christian Theede&nbsp;</font> </span>
    79. &nbsp;<span style="font-size: 7pt; font-weight:bold; cursor:pointer" onclick="document.getElementById('Text15').style.display = 'none'">CLOSE</span>
    80. </div>
    81. </td>
    82. </tr>
    83. <tr>
    84. <td width="80">&nbsp;</td>
    85. <td width="475" colspan="6">
    86. <div id="Stills15" style="display: none;">
    87. <font color="#999933"><b><span style="margin-left: 135">STILLS</span></b></font>
    88. <p style="margin-left: 0"><img border="0" src="http://www.dschungelfilm.de/bilder/thumbs/2006_Ich_bin/Ich_bin_1.jpg" width="152" height="85">&nbsp;&nbsp;
    89. <img border="0" src="http://www.dschungelfilm.de/bilder/thumbs/2006_Ich_bin/Ich_bin_2.jpg" width="152" height="85">&nbsp;&nbsp;
    90. <img border="0" src="http://www.dschungelfilm.de/bilder/thumbs/2006_Ich_bin/Ich_bin_3.jpg" width="152" height="85"></p>
    91. <p><img border="0" src="http://www.dschungelfilm.de/bilder/thumbs/2006_Ich_bin/Ich_bin_4.jpg" width="152" height="85">&nbsp;&nbsp;
    92. <img border="0" src="http://www.dschungelfilm.de/bilder/thumbs/2006_Ich_bin/Ich_bin_5.jpg" width="152" height="85">&nbsp;&nbsp;
    93. <img border="0" src="http://www.dschungelfilm.de/bilder/thumbs/2006_Ich_bin/Ich_bin_6.jpg" width="152" height="85">
    94. <span style="margin-left: 147; font-size: 7pt; font-weight:bold; cursor:pointer" onclick="document.getElementById('Stills15').style.display = 'none'">CLOSE</span>
    95. </p>
    96. </div>
    97. </td>
    98. </tr>
    99. <tr>
    100. <td width="80">&nbsp;</td>
    101. <td width="85">&nbsp;</td>
    102. <td width="40" colspan="4">&nbsp;</td>
    103. <td width="355">&nbsp;</td>
    104. </tr>
    105. <tr>
    106. <td width="80">&nbsp;</td>
    107. <td width="85" rowspan="2">&nbsp;</td>
    108. <td width="40" height="30" rowspan="2" colspan="4">
    109. <img border="0" src="http://www.dschungelfilm.de/bilder/thumbs/2006_Giganten/Giganten.jpg" width="43" height="24"></td>
    110. <td width="355" height="7"><p style="margin-left: 10"><b>FOTOS: &quot;GIGANTEN&quot;</b></p></td>
    111. </tr>
    112. <tr>
    113. <td width="80">&nbsp;</td>
    114. <td width="355" height="8"><p style="margin-left: 10">Musikvideo / 2006</p></td>
    115. </tr>
    116. <tr>
    117. <td width="80">&nbsp;</td>
    118. <td width="85">&nbsp;</td>
    119. <td width="8" height="12">
    120. <a href="javascript:toggle(14, 'Text');" title="info" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image45','','http://www.dschungelfilm.de/bilder/testg.jpg',1)">
    121. <img name="Image45" border="0" src="http://www.dschungelfilm.de/bilder/tests.jpg" width="4" height="12">
    122. </a>
    123. </td>
    124. <td width="8" height="12">
    125. <a href="javascript:toggle(14, 'Stills');" title="stills" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image44','','http://www.dschungelfilm.de/bilder/testg.jpg',1)">
    126. <img name="Image44" border="0" src="http://www.dschungelfilm.de/bilder/tests.jpg" width="4" height="12">
    127. </a>
    128. </td>
    129. <td width="8" height="12">
    130. <a href="#" onClick="MM_openBrWindow('http://www.dschungelfilm.de/filme/giganten.html','','width=325,height=290')" title="film" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image43','','http://www.dschungelfilm.de/bilder/testg.jpg',1)">
    131. <img name="Image43" border="0" src="http://www.dschungelfilm.de/bilder/tests.jpg" width="4" height="12">
    132. </a>
    133. </td>
    134. <td width="16" height="12">
    135. <td width="355" height="12">&nbsp;
    136. </tr>
    137. <tr>
    138. <td width="80">&nbsp;</td>
    139. <td width="85">&nbsp;</td>
    140. <td width="40" colspan="4">&nbsp;</td>
    141. <td width="355">
    142. <div id="Text14" class="container">
    143. <font color="#999933"><b>INFO</b></font><br>
    144. Urlaubsclip f&uuml;r eine vierk&ouml;pfige, deutschrockpopspielende
    145. „Jungs-Band“. Eine Fahrt mit BMW 635CSI zum Strand. Ein grandioser Sonnenuntergang.
    146. Echt wahr...<br>
    147. <font color="#FFFFFF"><b><span style="background-color: #999933">Kamera
    148. </span></b><span style="background-color: #999933">/ 4 min., DigiBeta,
    149. gedreht auf 16mm / f&uuml;r Labels Musik / Regie &amp; Kamera: Christian
    150. Theede&nbsp;</span></font>
    151. &nbsp;<span style="font-size: 7pt; font-weight:bold; cursor:pointer" onclick="document.getElementById('Text14').style.display = 'none'">CLOSE</span>
    152. </div>
    153. </td>
    154. </tr>
    155. <tr>
    156. <td width="80">&nbsp;</td>
    157. <td width="475" colspan="6">
    158. <div id="Stills14" style="display: none;">
    159. <font color="#999933"><b><span style="margin-left: 135">STILLS</span></b></font>
    160. <p style="margin-left: 0"><img border="0" src="http://www.dschungelfilm.de/bilder/thumbs/2006_Giganten/Giganten_1.jpg" width="152" height="85">
    161. <img border="0" src="http://www.dschungelfilm.de/bilder/thumbs/2006_Giganten/Giganten_2.jpg" width="152" height="85">
    162. <img border="0" src="http://www.dschungelfilm.de/bilder/thumbs/2006_Giganten/Giganten_3.jpg" width="152" height="85"></p>
    163. <p><img border="0" src="http://www.dschungelfilm.de/bilder/thumbs/2006_Giganten/Giganten_4.jpg" width="152" height="85">
    164. <img border="0" src="http://www.dschungelfilm.de/bilder/thumbs/2006_Giganten/Giganten_5.jpg" width="152" height="85">
    165. <img border="0" src="http://www.dschungelfilm.de/bilder/thumbs/2006_Giganten/Giganten_6.jpg" width="152" height="85">
    166. <span style="margin-left: 147; font-size: 7pt; font-weight:bold; cursor:pointer" onclick="document.getElementById('Stills14').style.display = 'none'">CLOSE</span>
    167. </p>
    168. </div>
    169. </td>
    170. </tr>
    171. <tr>
    172. <td width="80">&nbsp;</td>
    173. <td width="85">&nbsp;</td>
    174. <td width="40" colspan="4">&nbsp;</td>
    175. <td width="355">&nbsp;</td>
    176. </tr>
    177. </table>
    178. </div>
    179. </body>
    180. </html>
    Alles anzeigen


    70abc
    We raise hopes, here ... until they're old enough to fend for themselves.
    - Mike Callahan
  • Moin

    "laco1" schrieb:

    ok,

    ich hab noch mal eine gebaut mit einem einzigen button - leider funktioniert da im moment gar nichts, warum weiß ich noch nicht...

    der schwarze button ganz oben

    achso, die close-button-funktion kam von bendtit


    was meinst du genau für fehler?

    .



    Die Funktion die ich gepostet hab (s.o.) SOLL auch alle ellemente schließen (die in der schleife definiert werden). Wenn du diese funktion aufrufst bevor du ein neues ellement öffnest hast du genau den effekt den du haben willst. lies dir das am besten nochmal durch (z.b. 11 postings weiter oben) und meld dich falls noch was unklar ist.
    .:Reden Ist Schweigen und Silber Ist Gold:.

    real programmers don't comment their code: if it was hard to write, it should be hard to read!
  • @70abc :)
    gefällt mir,
    aber wenn man es so anlegt, könnte man ja eigentlich den close button auch ganz weglassen - geht das? also bei jedem klick auf einen button (wie hier - nur bleibt bei dem klick auf die nächste videoinfo die vorherige videoinfo offen) werden alle anderen geöffneten id geschlossen (an diese funktion hatte ich noch gar nicht gedacht - der betreiber der homepage wollte zwar einen button zum schließen - finde diese version besser)
    wäre das ^^ die lösung von bendit?
  • "laco1" schrieb:

    @70abc :)
    gefällt mir,
    aber wenn man es so anlegt, könnte man ja eigentlich den close button auch ganz weglassen - geht das? also bei jedem klick auf einen button (wie hier - nur bleibt bei dem klick auf die nächste videoinfo die vorherige videoinfo offen) werden alle anderen geöffneten id geschlossen (an diese funktion hatte ich noch gar nicht gedacht - der betreiber der homepage wollte zwar einen button zum schließen - finde diese version besser)
    wäre das ^^ die lösung von bendit?


    Klar geht's auch ohne den Close-Button, lass den Code halt einfach weg. Du hattest ja geschrieben, das immer nur die anderen Divs innerhalb eines Films zu gehen sollen und NICHT alle anderen Divs. Ob das mit bendit's Lösung geht kann ich nicht sagen, weil ich mir die nicht angeschaut habe. Aber ich habe weiter oben eine Lösung dafür gepostet:

    Sollen die Divs aller anderen Filme auch geschlossen werden, dann müsste man einen anderen Ansatz verfolgen:

    Ich gehe jetzt mal davon aus, das die CSS-Klasse "container" nur von den ein/auszublendenden Divs verwendet wird, falls nicht, musst Du deine HTML-Code entsprechen ab ändern!

    Quellcode

    1. function toggle(name)
    2. {
    3. for (var i = 0; i < document.getElementsByTagName('div').length; i++) {
    4. if(document.getElementsByTagName('div')[i].className == 'container') {
    5. document.getElementsByTagName('div')[i].display = 'none';
    6. }
    7. }
    8. var ans = document.getElementById(name);
    9. if (ans) {
    10. if (ans.style.display != 'block') {
    11. ans.style.display = 'block';
    12. } else {
    13. ans.style.display = 'none';
    14. }
    15. }
    16. }
    Alles anzeigen



    Der Aufruf der Funktion muss dann aber wieder so aussehen: <a href="javascript:toggle('Text15');" .......
    70abc
    We raise hopes, here ... until they're old enough to fend for themselves.
    - Mike Callahan