DIV: Automatisches ausblenden nach 3 Sekunden

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

  • DIV: Automatisches ausblenden nach 3 Sekunden

    Hallo, ich versuche krampfhaft eine "Div-Box" nach 3 Sekunden aus zu blenden, jedoch funktioniert das nicht.

    Quellcode

    1. function test(d) {
    2. if (d.length < 1) {return; }
    3. alert(""+d+"");
    4. document.getElementById(d).style.display = "none";
    5. }
    6. function HideContent(d) {
    7. if(d.length < 1) { return; }
    8. document.getElementById(d).style.display = "none";
    9. }
    10. function ShowContent(d) {
    11. if(d.length < 1) { return; }
    12. document.getElementById(d).style.display = "block";
    13. setTimeout("test("+d+")", 3000);
    14. }
    Alles anzeigen


    Show und Hide funktioniert ohne Probleme nur das automatische ausblenden nicht,

    in alert wir mit [object HtmlDivElement] zurückgegeben.... <--- was soll den das?

    Kann mir das jemand hefen wie ich "d" richtig überge?


    PS kenn jemand einen editor der JS debugen kann? Ich bekomme nie Fehlermeldungen das nervt wenn man fehler sucht....
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert, der letzte Netzknoten kommerzialisiert, die letzte Newsgroup moderiert wird, werdet Ihr merken, dass man mit Geld allein nicht programmieren kann.
  • So, da mein Div-layer nun funktioniert wie es soll :) will ich den euch nicht vorenthalten:

    Quellcode

    1. <script type="text/javascript" language="JavaScript"><!--
    2. function action(d) {
    3. if (d.length < 1) {return; }
    4. document.getElementById(d).style.display = "none";
    5. }
    6. function HideContent(d) {
    7. if(d.length < 1) { return; }
    8. document.getElementById(d).style.display = "none";
    9. }
    10. function ShowContent(d) {
    11. if(d.length < 1) { return; }
    12. document.getElementById(d).style.display = "block";
    13. start = setTimeout("action('"+d+"')", 3000);
    14. }
    15. function ReverseContentDisplay(d) {
    16. if(d.length < 1) { return; }
    17. if(document.getElementById(d).style.display == "none") { document.getElementById(d).style.display = "block"; }
    18. else { document.getElementById(d).style.display = "none"; }
    19. }
    20. function HoldContent(d) {
    21. if (d.length < 1) {return;}
    22. clearTimeout(start);
    23. }
    24. function FadeContent(d) {
    25. if (d.length <1 ) {return;}
    26. start = setTimeout("action('"+d+"')", 1000);
    27. }
    28. //--></script>
    29. <a
    30. onMouseOver="ShowContent('uniquename'); return true;"
    31. href="javascript:ShowContent('uniquename')">
    32. [show]
    33. </a>
    34. <div onMouseOver="HoldContent('uniquename'); return true;" onMouseOut="FadeContent('uniquename'); return true;"
    35. id="uniquename"
    36. style="display:none;
    37. position:fixed;
    38. width: 200px;
    39. margin-left: 400px;
    40. border:1px solid;
    41. background-color: white;
    42. padding: 2px;">
    43. <p>
    44. Content goes here.
    45. </p>
    46. <p align="right"><a onClick="HideContent('uniquename'); return true;" href="#">[more...]</a></p>
    47. </a>
    48. </div>
    Alles anzeigen


    Feature:
    - Blendet sich automatisch aus nach 3sek
    - OnMouseOver, wird er nicht ausgeblendet
    - OnMouseOut, wird er nach 2sek ausgeblendet
    - OnClick auf den link, wird er sofort ausgeblendet

    Viel Spass

    //EDIT Weiß einer wie man da nen Drop-Shadow rein machen kann? Sieht dann bestimmt auch fetzig aus...

    //EDIT2 IE-Fix eingebaut
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert, der letzte Netzknoten kommerzialisiert, die letzte Newsgroup moderiert wird, werdet Ihr merken, dass man mit Geld allein nicht programmieren kann.
  • super danke :)

    Was ich auch noch einbauen werde, ist das der inhalt des layers mit AJAX geladen wird mit nem schicken Loading symbol :)
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert, der letzte Netzknoten kommerzialisiert, die letzte Newsgroup moderiert wird, werdet Ihr merken, dass man mit Geld allein nicht programmieren kann.