tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
307
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    snaich snaich ist offline Grünschnabel
    Registriert seit
    Aug 2008
    Beiträge
    1
    Hallo,

    ich habe eine Webseite mit momentan einer Ebene. Diese kann ich mittels meines vorhandenen Scripts bewegen.
    Soweit funktioniert alles. Nun möchte ich das die neue Position der Ebene in einen Cookie gespeichert wird - die Funktion müsste bereits im aktuellen Script sein. Was nicht funktioniert ist, das die neue Position auch wieder abgerufen wird - dafür habe ich auch ein Script - mir gelingt es nur nicht beide miteinander zu kombinieren.

    Zur Info: Die beiden Scipts habe ich nach langem suchen im Web gefunden. Meine Programier-/JavaScriptkenntnisse gehen gleich null - sollte mir also jemand helfen können/wollen - ich benötige etwas mehr hilfe als nur einen kleine Hinweis ; )

    Hier ist der Teil den ich noch in das bestehende Script einfügen muss:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    function init() {
    // Cookie lesen:
    var cookieString = liesCookie("Layout");
    if (cookieString) {
    // Array mit Wertpaaren erzeugen:
    var divPosArray = cookieString.split("+");
    for (i=0; i<divs.length; i++) {
    // Werte aus Wertpaar lesen:
    var posX = divPosArray[i].split(",")[0];
    var posY = divPosArray[i].split(",")[1];
    // Elemente positionieren:
    if (document.layers) {
    divs[i].left = posX;
    divs[i].top = posY;
    }
    else {
    divs[i].style.left = posX;
    divs[i].style.top = posY;
    }



    Und hier meine bestehende Html-Seite incl. des funktionierenden Scripts:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>test</title>
    <script language="JavaScript1.2" type="text/javascript">
    <!--
    drag = "inaktiv";
    aktivX = 0;
    aktivY = 0;
    // Wir brauchen eine neue globale Variable, die das derzeit
    // aktive Element angibt:
    aktivDiv = null;
    // Ausserdem halten wir den z-index-Wert des derzeit aktiven
    // Elements fest, damit wir das nächste aktive Element
    // darüber legen können. Am Anfang setzen wir ihn einfach
    // auf 1000:
    aktivZindex = 1000;
    function init() {
    // Im Array divs[] sammeln wir alle (positionierten) div-
    // Elemente der Seite:
    divs = (document.layers) ? document.layers :
    (document.all) ? document.all.tags("DIV") :
    document.getElementsByTagName("DIV");
    // Jetzt weisen wir jedem div den MouseDown-Handler zu:
    for (i=0; i<divs.length; i++) {
    if (divs[i].captureEvents) // Netscape 4
    divs[i].captureEvents(Event.MOUSEDOWN);
    divs[i].onmousedown = mdown;
    }
    // die andern Handler nicht vergessen:
    if (document.captureEvents) // Netscape
    document.captureEvents(Event.MOUSEMOVE |
    Event.MOUSEUP);
    document.onmouseup = mup;
    document.onmousemove = mmove;
    }
    window.onload = init;
    function mdown(e){
    // Wir müssen onmousedown herausfinden, welches div-
    // Element aktiviert wurde. Dazu benutzen wir "this".
    // Dann zählen wir den bislang höchsten z-Index-Wert eins
    // nach oben und weisen ihn dem aktiven div zu. Der Rest
    // ist wie gehabt.
    aktivDiv = this;
    if (document.layers) aktivDiv.zIndex = aktivZindex++;
    else aktivDiv.style.zIndex = aktivZindex++;
    drag = "aktiv";
    aktivX = (e) ? e.pageX :
    event.clientX + document.body.scrollLeft;
    aktivY = (e) ? e.pageY :
    event.clientY + document.body.scrollTop;
    return false;
    }
    function mmove(e){
    // fast keine Änderungen im Vergleich zum einfachen
    // Drag&Drop
    if (drag == "inaktiv") return;
    var neuX = (e) ? e.pageX :
    event.clientX + document.body.scrollLeft;
    var neuY = (e) ? e.pageY :
    event.clientY + document.body.scrollTop;
    var distX = (neuX-aktivX);
    var distY = (neuY-aktivY);
    aktivX = neuX;
    aktivY = neuY;
    if (document.layers) {
    aktivDiv.left += distX;
    aktivDiv.top += distY;
    }
    else {
    aktivDiv.style.left =
    parseInt(aktivDiv.style.left) + distX;
    aktivDiv.style.top =
    parseInt(aktivDiv.style.top) + distY;
    }
    }
    function mup(e){
    drag = "inaktiv";
    // Cookie-String zusammenstellen:
    var cookieString = "";
    for (i=0; i<divs.length; i++) {
    var posX = (document.layers) ? divs[i].left :
    parseInt(divs[i].style.left);
    var posY = (document.layers) ? divs[i].top :
    parseInt(divs[i].style.top);
    cookieString += posX + "," + posY + "+";
    }
    // Verfallspunkt in 100 Tagen:
    var jetzt = new Date();
    var verfall = new Date(jetzt.getTime() +
    1000*60*60*24*100);
    // Cookie schreiben:
    schreibCookie("Layout", cookieString, verfall);
    }
    //-->
    </script>
     
     
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_reloadPage(init) { //reloads the window if Nav4 resized
    if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
    else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
    }
    MM_reloadPage(true);
    //-->
    </script>
    </head>
     
    <body>
    <div id="Layer1" style="position:absolute; width:200px; height:115px; z-index:1; left: 253px; top: 203px; background-color: #666666; layer-background-color: #666666; border: 1px none #000000;"></div>
     
    </body>
    </html>
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Moin,

    ich sehe dort nirgends die Funktionen liesCookie() und schreibCookie() .
     

Ähnliche Themen

  1. Ebenen mit Ebenennamen speichern
    Von Alexander Groß im Forum Photoshop
    Antworten: 3
    Letzter Beitrag: 23.11.09, 20:15
  2. Ebenen als dds Dateien speichern
    Von csmi im Forum Photoshop
    Antworten: 4
    Letzter Beitrag: 19.02.09, 00:24
  3. probleme beim speichern von mehreren ebenen
    Von herecurahel im Forum Sonstige Grafik-Programme
    Antworten: 1
    Letzter Beitrag: 23.01.07, 21:55
  4. Per Script alle Ebenen als PNG speichern
    Von fastfred im Forum Photoshop
    Antworten: 6
    Letzter Beitrag: 10.02.06, 17:01
  5. feste positon
    Von Darkfire im Forum HTML & XHTML
    Antworten: 1
    Letzter Beitrag: 09.03.04, 19:11