'document.all.memberInfo.style' ist Null oder kein Objekt

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

  • 'document.all.memberInfo.style' ist Null oder kein Objekt

    Hi!

    Da die netten WebmasterPark-Member anscheinend keine Ahnung haben versuche ich hier mein Glück.
    Bitte es nicht als Crosspost zu betrachten!

    Bei weiter unten folgendem JavaScript bekomme ich im InternetExplorer folgende Fehlermeldung:
    ...
    'document.all.memberInfo.style' ist Null oder kein Objekt
    ...

    Der Firefox-Abschnitt funktioniert wunderbar.

    Wäre toll, wenn mir jemand weiterhelfen könnte.

    Quellcode

    1. <script type="text/javascript" language="JavaScript">
    2. <!--
    3. function showMemberInfos(e)
    4. {
    5. if(document.all)
    6. {
    7. document.all.memberInfo.style.left = window.event.clientX;
    8. document.all.memberInfo.style.top = window.event.clientY;
    9. document.all.memberInfo.style.visibility = "visible";
    10. }
    11. else
    12. {
    13. document.getElementById("memberInfo").style.top = e.layerY;
    14. document.getElementById("memberInfo").style.left = e.layerX;
    15. document.getElementById("memberInfo").style.visibility = "visible";
    16. }
    17. }
    18. function hideMemberInfos()
    19. {
    20. if(document.all)
    21. {
    22. document.all.memberInfo.style.visibility = "hidden";
    23. }
    24. else
    25. {
    26. document.getElementById("memberInfo").style.visibility = "hidden";
    27. }
    28. }
    29. //-->
    30. </script>
    Alles anzeigen


    Der Aufruf geschieht folgendermaßen:

    Quellcode

    1. <img onmousemove="javascript:showMemberInfos(event)" onmouseout="javascript:hideMemberInfos()" src="<?print($row[photo]);?>" alt="<?print($row[firstname]." ".$row[lastname]);?>">
  • Hi,

    document.all gehört nicht zum offiziellen JavaScript-Sprachstandard. Der Internet Explorer verarbeitet es dennoch und spricht die Tags mit name="memberInfo" an.
    Der Firefox schert sich nicht drum und spricht durch die Nutzung von getElementById die id="memberInfo" an.
    Sieht dein Code dementsprechend aus?

    Naja, und wenn schon *gg*
    Der IE kann das getElementById genausogut. Entferne also einfach den if Zweig mit if(document.all).

    Quellcode

    1. function showMemberInfos(e) {
    2. var ob = document.getElementById("memberInfo");
    3. ob.style.top = e.layerY;
    4. ob.style.left = e.layerX;
    5. ob.style.visibility = "visible";
    6. }
    7. function hideMemberInfos() {
    8. document.getElementById("memberInfo").style.visibility = "hidden";
    9. }
  • Hallo,

    ich sag nur jQuery! Was Du da oben machst, läßt sich mit jQuery in ein paar Zeilen realisieren und ist auch noch Browser unabhängig!
    Ich gebe zu, das ich mich Jahre lang gegen irgend welche JavaScript Libraries gewehrt habe, aber jQuery hat mich wirklich überzeugt. Es macht die JavaScript Programmierung so viel einfacher!

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