Ebene auf-und zu decken.


  • Sokrates
  • 1024 Aufrufe 8 Antworten

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

  • Ebene auf-und zu decken.

    hi,
    ich probier grad mal wieder was neues und komm nicht weiter.
    und zwar möchte ich wenn ich auf den link einer ebene klicke, das eine andere eben eingeblendet wird und die alte aus. und umgekehr genauso. ich hab sch angefangen aber aber ich kriege dann eine fehlermeldung : "objekt erwartet"

    so siehts bis jetzt aus, irgentwo is da der wurm drin.

    PHP-Quellcode

    1. <html>
    2. <head>
    3. <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    4. <title>bla</title>
    5. <style type=text/css>
    6. #demo1 { position: absolute; visibility: visible; left: 150px; top: 80px; }
    7. #demo2 { position: absolute; visibility: hidden; left: 100px; top: 80px;
    8. </style>
    9. <script type=text/javascript>
    10. function zeigen(demo1) {
    11. if (ns) {
    12. document.layers['1'+demo1].visibility = "show";
    13. }
    14. else {
    15. document.all['1'+ demo1].style.visibility = "visible"
    16. }
    17. }
    18. function verbergen(demo2) {
    19. if (ns) {
    20. document.layers['2'+demo2].visibilty= "hidden"
    21. }
    22. else {
    23. document.all['2'+demo2].style.visibility = "hidden"
    24. }
    25. }
    26. var i=1;
    27. var test ="demo2";
    28. function zeigeebene (demo2) {
    29. verbergen(eval ('1' + test + i +'2')) ;
    30. i= 1;
    31. }
    32. var i=1;
    33. var test ="demo1";
    34. function verbergen(demo1) {
    35. verbergen(eval ('2' + test + i +'1'));
    36. i= 2;
    37. }
    38. </script>
    39. </head>
    40. <body>
    41. <div id="demo1"><a href="javascript:zeigeebenenr(2)"> bla</a></div>
    42. <div id="demo2"><a href="javascript:zeigeebenenr(1)">blabla</a></div>
    43. </body>
    44. </html>
    Alles anzeigen


    bis jetzt hab ihr mir ja immer helfen können, ich vertrau auf euch "profis"
  • Hi, hab das mal in Dreamweaver nachgebaut, so wie du das beschrieben hast.

    Vielliecht kannste es ja gebrauchen! Es funktioniert zumindest.

    PHP-Quellcode

    1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    2. "http://www.w3.org/TR/html4/loose.dtd">
    3. <html>
    4. <head>
    5. <title>Untitled Document</title>
    6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    7. <script language="JavaScript" type="text/JavaScript">
    8. <!--
    9. function MM_reloadPage(init) { //reloads the window if Nav4 resized
    10. if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    11. document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
    12. else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
    13. }
    14. MM_reloadPage(true);
    15. function MM_findObj(n, d) { //v4.01
    16. var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    17. d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    18. if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    19. for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    20. if(!x && d.getElementById) x=d.getElementById(n); return x;
    21. }
    22. function MM_showHideLayers() { //v6.0
    23. var i,p,v,obj,args=MM_showHideLayers.arguments;
    24. for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    25. if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    26. obj.visibility=v; }
    27. }
    28. //-->
    29. </script>
    30. </head>
    31. <body>
    32. <div id="demo1" style="position:absolute; left:117px; top:79px; width:319px; height:148px; z-index:1; background-color: #FFFF00; layer-background-color: #FFFF00; border: 1px none #000000; visibility: visible;"><a href="#" onClick="MM_showHideLayers('demo1','','hide','demo2','','show')">bla</a></div>
    33. <div id="demo2" style="position:absolute; left:477px; top:165px; width:322px; height:276px; z-index:2; background-color: #00FF00; layer-background-color: #00FF00; border: 1px none #000000; visibility: hidden;"><a href="#" onClick="MM_showHideLayers('demo1','','show','demo2','','hide')">blablabla</a></div>
    34. </body>
    35. </html>
    Alles anzeigen
  • ich glaub frontpage hat keine solchen scripts, aber wenn du sagst es geht bei dreamweaver was ich auch probiert hab, dann bin ich entweder zu "doof das einzufügen, oder du hast ein paar fehler drin
  • Du kannst in dreamweaver ja verschiedene layer machen.

    In diese layer schreibst du dann deine Links bzw. Texte
    (bei den links musst du dann drauf achten, dass du nur ein "#" als Link einfügst!)

    Jetzt kannst du unter der Registerkarte "Tag" das Reigster "Behaviours" auswählen! Dort dann auf das "+" klicken und da kannst du dann "Show-Hide Layer" auswählen.
    Der Rest erklärt sich eigentlich von selbst...
  • Original geschrieben von Sokrates
    so,
    ich hab das problem in den griff gekriegt, und jetzt geht auch alles wie ich es will.
    falls jemand interesse hat an dem script, kann ich das demnächst mal posten


    Doppelposts bitte vermeiden, EDIT Funktionnutzen ;).

    Dein Skript kannst du gerne posten, am besten auskommentiert, so dass man was dabei lernt und nicht nur strg+c wahlten lässt.
  • hier das script.
    damit es funktioniert müssen meine meine beschriftungen aus dem script entfernt werden.

    PHP-Quellcode

    1. <HTML>
    2. <HEAD>
    3. <TITLE>ebenen tauschen</TITLE>
    4. <SCRIPT LANGUAGE="JavaScript">
    5. if (document.layers) {
    6. ns = 1; ie = 0;
    7. } else {
    8. ns = 0; ie = 1;
    9. }
    10. var i = 1; <!-- i ist die derzeit angezeigt ebene.
    11. die Nummer ändert sich ,wenn eine andere Ebene aufgerufen wird -->
    12. var test = "bla";
    13. function zeigeEbeneNr(ebene_nr){ <!-- ebene_nr , ist die jeweilige bezeichnung der ebene die aufgedeckt wird -->
    14. verbergen(eval('"' + test + i +'"'));
    15. zeigen(eval('"' + test + ebene_nr +'"')); <!-- test, ist die bezeichnung der ebene ohne nummer -->
    16. i = ebene_nr;
    17. }
    18. <!-- Syntax für den Browser angeben -->
    19. function zeigen(name) {
    20. if (ns) {
    21. document.layers[''+name].visibility = "show";
    22. }
    23. else {
    24. document.all[''+name].style.visibility = "visible"
    25. }
    26. }
    27. function verbergen(name) {
    28. if (ns){
    29. document.layers[''+name].visibility = "hide"
    30. }
    31. else {
    32. document.all[''+name].style.visibility = "hidden"
    33. }
    34. }
    35. </SCRIPT>
    36. <!-- css Angaben für die Funktion (sichtbar oder nicht sichtbar) und Position der Ebenen -->
    37. <STYLE TYPE="text/css">
    38. #bla1 {position: absolute; visibility: hidden; left: 150px; top: 80px;}
    39. #bla2 {position: absolute; visibility: hidden; left: 150px; top: 80px;}
    40. #bla3 {position: absolute; visibility: hidden; left: 150px; top: 80px;}
    41. #Steuerung {position: absolute; z-index: 2; visibility: visible; left: 20px; top: 20px;}
    42. </STYLE>
    43. </HEAD>
    44. <BODY BGCOLOR="#21ffff" TEXT="Black">
    45. <!-- Ebenen NUMERIERT in das script einfügen -->
    46. <DIV ID="bla1" >
    47. bla bla bla bla bla bla bla bla bla bla
    48. </DIV>
    49. <DIV ID="bla2" >
    50. bla bla bla bla bla bla bla bla bla bla <br>
    51. bla bla bla bla bla bla bla bla bla bla <br>
    52. </DIV>
    53. <DIV ID="bla3" >
    54. bla bla bla bla bla bla bla bla bla bla <br>
    55. bla bla bla bla bla bla bla bla bla bla <br>
    56. bla bla bla bla bla bla bla bla bla bla <br>
    57. </DIV>
    58. <DIV ID="Steuerung" >
    59. <A HREF="javascript:zeigeEbeneNr(1)">bla 1</A> <BR> <!-- in die klammern mit den nummern wird die nummer der ebene eingetragen ,die aufgedeckt werden soll -->
    60. <A HREF="javascript:zeigeEbeneNr(2)">bla 2</A> <BR>
    61. <A HREF="javascript:zeigeEbeneNr(3)">bla 3</A> <BR>
    62. </DIV>
    63. </BODY>
    64. </HTML>
    Alles anzeigen



    die ebenen sind dann solange sichtbar bis eine neue aufgerufen wird.


    ich hoffe meine beschriftungen reichen. ( bin kein guter erklärer)

    teile dieses scriptes sind aus dem buch :"JavaScript Praxisbuch"
    Scriptautor ( aus dem buch) Johannes Gamperl