Avatar billede mikmakmuk Nybegynder
13. december 2007 - 12:58 Der er 41 kommentarer og
1 løsning

document.createTextNode og document.createElement

Jeg har nu en udskriv metode som ser således ud

function udskriv()
            {
                var e = document.getElementById("klikkede");
               
                //Slet eventuelt eksisterende indhold af 'klikkede' div tag'en.
                clearNode(e);
               
                for (i=0; i < mylist.length; i++)
                {
                    var imgPath = "http://front.xstream.dk/eb/GetThumbnail.php?ClipId=" + mylist[i];
                                      var imgNew = document.createElement("img");
                                    imgNew.setAttribute("src", imgPath);
                                   
                                      e.appendChild(imgNew);
                                    e.appendChild(document.createElement("br"));

                    // e.appendChild(document.createTextNode("<img src='http://front.xstream.dk/eb/GetThumbnail.php?ClipId="));
                    // e.appendChild(document.createTextNode(mylist[i]));
                    // e.appendChild(document.createTextNode("' />"));
                    }
                scrollToElement(e);
            }

Hvordan får jeg den til at sprøjte det her ud.

<div class="klasse">
<p><a href="#"><img src="URL" alt="" width="80" height="60"></a></p>
<div class="klasse1">
<h4><a href="#">ladida</a></h4>
<p>nbdshsdh</p>
<p class="etellerandet"><a href="#"><img src="URL" alt="" width="70" height="14"></a></p>
<p class="etellerandet"><a href="#"><img src="URL" alt="" width="16" height="21"></a></p>
</div>
</div>
Avatar billede roenving Novice
13. december 2007 - 16:31 #1
Hvor får du alle oplysningerne fra ?-)
Avatar billede mikmakmuk Nybegynder
14. december 2007 - 03:19 #2
De kommer sådan lidt fra øst og vest.
Det jeg lige skal finde ud af her er hvordan jeg får puttet tingene ind i hinanden.
Avatar billede mikmakmuk Nybegynder
14. december 2007 - 03:27 #3
Hmmm, er det sådan her
var y = document.createElement('div');
    y.class = 'klasse';
Avatar billede mikmakmuk Nybegynder
14. december 2007 - 03:36 #4
og så

var p = document.createElement('p');
var a = document.createElement('a');
    a.href = '#';
    a.onclick = "hvad den nu skal gøre";

også
e.appendChild(div);
e.appendChild(p);
e.appendChild(a);
e.appendChild(imgNew);
Avatar billede mikmakmuk Nybegynder
14. december 2007 - 04:13 #5
Jeg kan jo i hvert tilfælde godt se at imgNew skal ind i a
Avatar billede mikmakmuk Nybegynder
14. december 2007 - 04:22 #6
e.appendChild(a.appendChild(imgNew);
Avatar billede mikmakmuk Nybegynder
14. december 2007 - 04:22 #7
eller hvad :-)
Avatar billede crazysnap Seniormester
14. december 2007 - 09:29 #8
Hej mikmakmuk,

Hvis du skal danne så meget html-script fra javascripten havde jeg nok lavet noget gemt div-template script som du kan klone i javascripten i stedet. Du kan så hive img-tags'ne ud af den klonede div tag og sætte deres src path. Jeg har udvidet dit script fra den tidligere tråd til eksemplet nedenfor. Hvis du skal bruge forskellige paths til alle 3 img-tags, kan du bare sætte dem manuelt ved imgElms[0].setAttribute, imgElms[1].setAttribute og imgElms[2].setAttribute.

Og ja, hvis du ikke vil lave det på denne måde, skal du have gang i mange document.createElement og setAttribute (som du selv gør ovenover).


<html xmlns="http://www.w3.org/TR/html401">
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
        <script type="text/JavaScript">
            var mylist=new Array();
       
            function clearArray()
            {
              mylist = new Array();
            }
           
            function addToList(id)
            {
                mylist.push(id); 
                udskriv();
               
                return false;
            }
           
            function scrollToElement(elm)
            {
                  var intPosX = 0;
                  var intPosY = 0;
                  var element = elm;           
                  while(elm != null)
                  {
                    intPosX += elm.offsetLeft;
                    intPosY += elm.offsetTop;
                    elm = elm.offsetParent;
                  }
                                                     
                window.scrollTo(intPosX,intPosY);
                element.focus();
            }

           
            function udskriv()
            {
                var e = document.getElementById("klikkede");
               
                //Slet eventuelt eksisterende indhold af 'klikkede' div tag'en.
                clearNode(e);
               
                for (i=0; i < mylist.length; i++)
                {
                    var imgPath = "http://front.xstream.dk/eb/GetThumbnail.php?ClipId=" + mylist[i];
                   
                    //Lav en kopi at template div-tag'en
                    var divTmp = createDiv();
                   
                    //Få fat i alle 3 img-tags i template div'en
                    var imgElms = divTmp.getElementsByTagName("img");

                    //Loop igennem de 3 img-tags og sæt deres src attribut
                    for(var j = 0; j < imgElms.length; j++)
                        imgElms[j].setAttribute("src", imgPath);
                   
                    //Tilføj template div'en til klikkede div tag'en
                    e.appendChild(divTmp);
                }
               
                scrollToElement(e);
            }
           
            function createDiv()
            {
                var divTmp = document.getElementById("divTemplate").cloneNode(true);
                divTmp.style.display = "block";
                return divTmp;
            }
           
            function clearNode(node)
            {
                while(node.childNodes.length > 0)
                  node.removeChild(node.childNodes[0]);
            }

        </script>
    </head>
    <body>
        <table>
            <tr>
                <td>
                    <a href="#" onclick="return addToList('dot_1.gif');">ladida</a>
                </td>
            </tr>
            <tr>
                <td>
                    <a href="#" onclick="return addToList('dot_2.gif');">hutlihut</a>
                </td>
            </tr>
            <tr>
                <td>
                    <input type="button" value="Udskriv array" id="btnOut" onclick="udskriv();" />
                    <input type="button" value="Clear array" id="btnClear" onclick="clearArray();" />
                </td>
            </tr>
            <tr>
                <td style="padding-top: 1000px;">
                    Her kommer indholdet af arrayet:
                    <div id="klikkede"></div>
                </td>
            </tr>
        </table>
       
        <div id="divTemplate" class="klasse" style="display:none;">
            <p><a href="#"><img src="" alt="" width="80" height="60" /></a></p>
            <div class="klasse1">
                <h4><a href="#">ladida</a></h4>
                <p>nbdshsdh</p>
                <p class="etellerandet"><a href="#"><img src="" alt="" width="70" height="14" /></a></p>
                <p class="etellerandet"><a href="#"><img src="" alt="" width="16" height="21" /></a></p>
            </div>
        </div>
    </body>
</html>


Mvh.
CS :)
Avatar billede mikmakmuk Nybegynder
14. december 2007 - 11:37 #9
Hvad dælen er der galt :-(

var imgPath = "URL" + mylist[i];
                                      var imgNew = document.createElement("img");
                                    imgNew.setAttribute("src", imgPath);
                                   
                                    var div = document.createElement('div');
                                            div.class ="mine-plist scroll2 myblue clearfix";
                                           
                    var p = document.createElement('p');
                                        var a = document.createElement('a');
                                            a.href = '#';
                                            a.onclick = "hvad den nu skal gøre";
                                            a.name = "kjhsdbhbvhsI";
                                            a.value ="hjuigbugy";
                                   
                                    e.appendChild(div);
                                        e.appendChild(p);
                                        e.appendChild(a);
                                        e.appendChild(imgNew);
Avatar billede mikmakmuk Nybegynder
14. december 2007 - 11:39 #10
e.appendChild(a.appendChild(imgNew);
Avatar billede crazysnap Seniormester
14. december 2007 - 12:14 #11
Hej mikmak,

Den er helt gal med hvordan du append'er. Nu append'er du jo det hele til e (dvs. den yderste div). Mange af elementerne skal ind i p og a osv og desuden skal .class være className plus at man ikke kan assigne onclick events på den måde du gør. Men for at gøre det du prøver rigtigt, har jeg lavet et eksempel til dig:


Her har du den første del af det html-script du efterspurgte:

<div class="klasse">
<p><a href="#" onclick="function_der_skal_kaldes();" name="kjhsdbhbvhsI" value="hjuigbugy"><img src="URL" width="80" height="60"></a></p>
<div class="mine-plist scroll2 myblue clearfix">
<h4><a href="#" name="#" onclick="function_der_skal_kaldes();">ladida</a></h4>
</div>



Ovenstående laves i javascript ved:

var e = document.getElementById("klikkede");


var imgPath = "URL" + mylist[i];
var imgNew = document.createElement("img");
imgNew.setAttribute("src", imgPath);
imgNew.setAttribute("width", "80");
imgNew.setAttribute("height", "60");

var p = document.createElement('p');
var a = document.createElement('a');
a.setAttribute("href", "#");
a.onclick = function() { function_der_skal_kaldes(); };
a.setAttribute("name", "kjhsdbhbvhsI");
a.setAttribute("value", "hjuigbugy");
 
a.appendChild(imgNew);
p.appendChild(a);
e.appendChild(p);

var div = document.createElement('div');
div.setAttribute("className", "mine-plist scroll2 myblue clearfix");

var h4 = document.createElement('h4');
var a2 = document.createElement('a');
a2.setAttribute("href", "#");
a2.onclick = function() { function_der_skal_kaldes(); };
a2.setAttribute("name", "#");
a2.innerText = "ladida";

h4.appendChild(a2);
div.appendChild(h4);
e.appendChild(div);


Du kan derfor se hvor langt og forvirrende dette er at lave i javascript og derfor jeg anbefalede dig at bruge en "template" i stedet (meget kortere, nemmere og lettere at læse). Men nu kan du se hvordan strukturen skal opbygges hvis du vil fortsætte på denne måde. :) Jeg vil dog stærkt anbefale dig at bruge mit færste eksempel.

Mvh.
CS
Avatar billede mikmakmuk Nybegynder
14. december 2007 - 12:57 #12
burde jeg ikke få en <h4>ladida</h4> ud
Avatar billede mikmakmuk Nybegynder
14. december 2007 - 13:07 #13
Jeg har godt nok svært ved at gennemskue det
Avatar billede crazysnap Seniormester
14. december 2007 - 13:09 #14
Jeg ved ikke helt hvad du mener? Det javascript jeg lige postede producerer:

<div class="klasse">
<p><a href="#" onclick="function_der_skal_kaldes();" name="kjhsdbhbvhsI" value="hjuigbugy"><img src="URL" width="80" height="60"></a></p>
<div class="mine-plist scroll2 myblue clearfix">
<h4><a href="#" name="#" onclick="function_der_skal_kaldes();">ladida</a></h4>
</div>

og append'er det til <div id="klikkede></div>.


Javascriptet kopieret ind i det tidligere script ser sådan ud:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/TR/html401">
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
        <script type="text/JavaScript">
            var mylist=new Array();
       
            function clearArray()
            {
              mylist = new Array();
            }
           
            function addToList(id)
            {
                mylist.push(id); 
                udskriv();
               
                return false;
            }
           
            function scrollToElement(elm)
            {
                  var intPosX = 0;
                  var intPosY = 0;
                  var element = elm;           
                  while(elm != null)
                  {
                    intPosX += elm.offsetLeft;
                    intPosY += elm.offsetTop;
                    elm = elm.offsetParent;
                  }
                                                     
                window.scrollTo(intPosX,intPosY);
                element.focus();
            }

           
            function udskriv()
            {
                var e = document.getElementById("klikkede");
               
                //Slet eventuelt eksisterende indhold af 'klikkede' div tag'en.
                clearNode(e);
               
                for (i=0; i < mylist.length; i++)
                {                   
                    var imgPath = "URL" + mylist[i];
                    var imgNew = document.createElement("img");
                    imgNew.setAttribute("src", imgPath);
                    imgNew.setAttribute("width", "80");
                    imgNew.setAttribute("height", "60");
                     
                    var p = document.createElement('p');
                    var a = document.createElement('a');
                    a.setAttribute("href", "#");
                    a.onclick = function() { function_der_skal_kaldes(); };
                    a.setAttribute("name", "kjhsdbhbvhsI");
                    a.setAttribute("value", "hjuigbugy");
                     
                    a.appendChild(imgNew);
                    p.appendChild(a);
                    e.appendChild(p);
                   
                    var div = document.createElement('div');
                    div.setAttribute("className", "mine-plist scroll2 myblue clearfix");
                   
                    var h4 = document.createElement('h4');
                    var a2 = document.createElement('a');
                    a2.setAttribute("href", "#");
                    a2.onclick = function() { function_der_skal_kaldes(); };
                    a2.setAttribute("name", "#");
                    a2.innerText = "ladida";
                   
                    h4.appendChild(a2);
                    div.appendChild(h4);
                    e.appendChild(div);
                }
                scrollToElement(e);
            }
           
            function clearNode(node)
            {
                while(node.childNodes.length > 0)
                  node.removeChild(node.childNodes[0]);
            }

        </script>
    </head>
    <body>
        <table>
            <tr>
                <td>
                    <a href="#" onclick="return addToList('dot_1.gif');">ladida</a>
                </td>
            </tr>
            <tr>
                <td>
                    <a href="#" onclick="return addToList('dot_2.gif');">hutlihut</a>
                </td>
            </tr>
            <tr>
                <td>
                    <input type="button" value="Udskriv array" id="btnOut" onclick="udskriv();" />
                    <input type="button" value="Clear array" id="btnClear" onclick="clearArray();" />
                </td>
            </tr>
            <tr>
                <td style="padding-top: 1000px;">
                    Her kommer indholdet af arrayet:
                    <div id="klikkede"></div>
                </td>
            </tr>
        </table>
    </body>
</html>


Måske skulle du uddybe hvad det er du prøver på? Altså dit endelige resultat, så kan vi tage den derfra?

Mvh.
CS
Avatar billede crazysnap Seniormester
14. december 2007 - 13:23 #15
Kan være dette hjælper til forståelsen af hvordan du skal append'e nodes i javascript for at danne noget html.


Hvis vi har nedenstående html struktur:

<a>
  <b>
      <c></c>
  </b>
  <d></d>
</a>

Kan dette dannes ved javascript som:


var a = document.createElement("a");
var b = document.createElement("b");
var c = document.createElement("c");
var d = document.createElement("d");

b.appendChild(c); //c er child til b
a.appendChild(b); //b er child til a
a.appendChild(d); //d er child til a


Mvh.
CS
Avatar billede olebole Juniormester
14. december 2007 - 13:26 #16
<ole>

"Det javascript jeg lige postede producerer" >> Så har du ikke testet koden  :)

Vær opmærksom på følgende:

    ELEMENT.setAttribute("className", "enKlasse");
- virker kun i IE. I FF og andre skal der stå:
    ELEMENT.setAttribute("class", "enKlasse");

Indtil browser leverandørerne bliver enige, er det lettere at bruge den gammelkendte IDL-metode:
    ELEMENT.className = "enKlasse";

Derudover kan IE ikke sætte en name-attribut på et element, hvorfor man i IE er nødt til at skrive:
    document.createElement("<a name='noget'></a>");

Til gengæld kan jeg ikke se, hvad man skal bruge en name-attribute til på et a-element (det kan ligeså godt være en id-attribute). En value-attribute er under alle omstændigheder direkte ulovlig på et a-element, så sådan én skal man ikke sætte.

Tekst i elementer bør ikke indsættes med 'innerText', som kun virker i IE og aldrig har været valid i nogen standard. Brug i stedet en tekst-node:
    var oTxt = document.createTextNode("En eller anden tekst");
    ELEMENT.appendChild(oTxt);

Sidst men ikke mindst, så tilføjes event-handlere med attachEvent i IE og addEventListener i andre (herunder FF)

/mvh
</bole>
Avatar billede mikmakmuk Nybegynder
14. december 2007 - 13:28 #17
Mit mål er jo også at forstå det. Må jo nok indrømme jeg godt kan mærke det er fredag :-)

Det skulle meget gerne ende med at se således ud

<div class="klasse">
<p><a href="#"><img src="URL" alt="" width="80" height="60"></a></p>
<div class="klasse1">
<h4><a href="#">blablabla</a></h4>
<p>111</p>
<p class="klasse2"><a href="#"><img src="etbillede" alt="" width="70" height="14"></a></p>
<p class="klasse3"><a href="#"><img src="etbilled" alt="" width="16" height="21"></a></p>
</div>
</div>
Avatar billede crazysnap Seniormester
14. december 2007 - 13:47 #18
Ja der skal tages forbehold for alt det olebole siger, men for at undgå alle disse createElement, setAttribute og opsætning af events ville jeg stadig bruge mit første forslag (kommentar 14/12-2007 09:29:42). Prøv at kopier det script ind i en ny test.html fil og åben den i din browser. Herefter kan du se at den "danner" præcis det html du ønsker ved at lave en kopi af den gemte div template. Denne metode er meget nemmere og mindre error-prone. 

Mvh.
CS
Avatar billede mikmakmuk Nybegynder
14. december 2007 - 14:40 #19
kan jeg så skrive

var a  = document.createElement("<a href="">something</a>");
Avatar billede crazysnap Seniormester
14. december 2007 - 14:46 #20
Det kan man ikke nej. Du bliver nødt til at opbygge det som vist ved kommentaren 14/12-2007 12:14:18.
Avatar billede mikmakmuk Nybegynder
17. december 2007 - 12:50 #21
hmmmm. Det begynder at ligne noget. Nu skal jeg finde ud af hvordan jeg får enkelte elementer fjernet fra listen
Avatar billede mikmakmuk Nybegynder
17. december 2007 - 12:50 #22
kan jo ikke rigtig bruge clearnode
Avatar billede mikmakmuk Nybegynder
17. december 2007 - 13:11 #23
Kan jeg ikke gøre sådan her


function removeListe(id)
            {
               
                mylist.splice(id, 1);
                udskriv();
                return false; 
            }
Avatar billede crazysnap Seniormester
17. december 2007 - 13:22 #24
Hvordan havde du forestillet dig der skal fjernes nodes fra listen? Skal der klikkes på et af billederne i listen f.eks? Og dette ville så fjerne elementet der klikkes på fra listen?
Avatar billede mikmakmuk Nybegynder
17. december 2007 - 13:27 #25
Jeg vil have fjernet elementet fra det array som listen bliver bygget op over
Avatar billede mikmakmuk Nybegynder
17. december 2007 - 13:28 #26
Der er en knap til det
Avatar billede crazysnap Seniormester
17. december 2007 - 13:40 #27
Du kan godt lave en metode til det som benytter splice ja. Den skal bare skrives sådan her i stedet:


function removeFromList(id)
{
    for(var i = 0; i < mylist.length; i++)
        if(id == mylist[i])
            mylist.splice(i, 1);
   
    udskriv();
    return false;
}


Den fjerner så alle elementer fra listen som har et element-id = id. :)


Mvh.
CS
Avatar billede crazysnap Seniormester
17. december 2007 - 13:42 #28
Og den skal så kaldes sådan her f.eks:

<input type="button" value="Remove item" id="btnRemove" onclick="return removeFromList('dot_2.gif');" />
Avatar billede crazysnap Seniormester
17. december 2007 - 13:44 #29
Hov, opdagede lige en fejl. Sådan her skal metoden se ud:


function removeFromList(id)
{
    for(var i = 0; i < mylist.length; i++)
        if(id == mylist[i])
        {
            mylist.splice(i, 1);
            i--;
        }
   
    udskriv();
    return false;
}


:)
Avatar billede mikmakmuk Nybegynder
17. december 2007 - 14:49 #30
hmmm. Kan ikke få det til at spille. Det var egenligt min intention at id skulle være indekset
Avatar billede crazysnap Seniormester
17. december 2007 - 14:57 #31
Hvis det er sagen burde den metode du selv forslog virke fint. Til den metode jeg skrev skal man angive værdien af en af strengene i listen (og oprindeligt var det vidst et billed-filnavn).

anyways, begge metoder burde virke fint:


onclick="return removeListe(2);"

eller

onclick="return removeFromList('filnavn');"
Avatar billede mikmakmuk Nybegynder
17. december 2007 - 15:05 #32
Jeg ville gerne have gjort noget ligende sådan her. Problemet er bare at i altid bliver den højeste værdi i arrayet, ergo fjerner den altid den sidste.

a.onclick = function() { return removeFromListe(i); };
Avatar billede crazysnap Seniormester
17. december 2007 - 15:56 #33
Ja og det er fordi at event-handling metoden er refereret og ikke kopieret. Så når du klikker på element "a", bliver den refererede metode kaldt (removeFromListe) med den værdi "i" har på det tidspunkt der klikkes på "a". Hvis du skal give en parameter med til metoden, kan du i stedet gøre brug af Function-metoden der tager en streng som argument. Så prøv med:


a.onclick = Function('removeListe(' + i + ')');


Det burde virke.


Mvh.
CS
Avatar billede mikmakmuk Nybegynder
19. december 2007 - 10:38 #34
Takker. Nu virker det. Der er i midlertid bare opstået en udfordring. Jeg må ikke miste listen når jeg skifter side eller trykker på f5. Min tanke er at smide værdierne i cookies
Avatar billede mikmakmuk Nybegynder
19. december 2007 - 10:39 #35
tænkte at jeg kunne give dem et præfix
Avatar billede mikmakmuk Nybegynder
19. december 2007 - 10:46 #36
er det er god eller dårlig idé?
Avatar billede mikmakmuk Nybegynder
19. december 2007 - 10:56 #37
læg endeligt et svar
Avatar billede crazysnap Seniormester
19. december 2007 - 11:00 #38
Jeg ved ikke ligefrem om det er en god idé da dette er noget jeg ville have klaret med serverside kode. Men når du har lavet alt i javascript indtil nu, kan du godt bruge cookies til at gemme dine array strenge i ja. Det betyder dog at du skal gemme til en cookie hver gang der tilføjes eller slettes et element fra listen. Så du skal på en eller måde repræsentere dine array-elementer som en lang streng i stedet. F.eks:

"elm1;elm2;elm3" osv.

Så det kræver en omskrivning af dit script på de punkter. Du skal også tilføje en metode ved onload som loader listen fra din cookie.
Avatar billede mikmakmuk Nybegynder
19. december 2007 - 11:54 #39
ja det er jo lige det. Jeg ville også normalt have lavet det serverside men lige i det her tilfælde er der et ønske om at det skal foregå clientside
Avatar billede crazysnap Seniormester
19. december 2007 - 15:17 #40
Hej igen,

Jeg har lavet et eksempel til dig hvor den bruger cookies til at gemme indholdet af array'et. De nye metoder der er tilføjet er:

init() : Denne kalde ved onload på body tag'en

saveArrayToCookie() : Gemmer array'et til en cookie

loadArrayFromCookie() : Loader array'et fra en cookie

createCookie(name, value, days) : Hjælpe metode til at lave cookies
getCookie(name) : Hjælpe metode til at hente cookies


Desuden er saveArrayToCookie() tilføjet til addToList(id) og removeListe(id) metoderne. Så nu skrives der til cookien hver gang der slettes eller tilføjes et element i listen. loadArrayFromCookie() bliver så kaldt i init() metoden når siden loades.


Håber du kan finde rundt i hvad det er jeg laver. ;) Men du burde kunne lave din side ud fra mit eksempel her.


<html xmlns="http://www.w3.org/TR/html401">
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
        <script type="text/JavaScript">
            var mylist=new Array();
            var cookieName = "list";
       
            function clearArray()
            {
              mylist = new Array();
            }
           
            function init()
            {
                loadArrayFromCookie();
                udskriv();             
            }
           
            function saveArrayToCookie()
            {
                var strArray = "";
               
                for(var i = 0; i < mylist.length; i++)
                    strArray += mylist[i] + ((i < mylist.length-1) ? ":" : "");
               
                createCookie(cookieName, strArray, -1);
            }
           
            function loadArrayFromCookie()
            {
                clearArray();
               
                var strArray = getCookie(cookieName);

                if(strArray == null || strArray == "" )
                    return;
                   
                mylist = strArray.split(':');
            }
           
            function addToList(id)
            {
                mylist.push(id);
                saveArrayToCookie();
                udskriv();
               
                return false;
            }
           
            function removeListe(id)
            {
                mylist.splice(id, 1);
                saveArrayToCookie();
                udskriv();
                return false; 
            }
           
            function scrollToElement(elm)
            {
                  var intPosX = 0;
                  var intPosY = 0;
                  var element = elm;           
                  while(elm != null)
                  {
                    intPosX += elm.offsetLeft;
                    intPosY += elm.offsetTop;
                    elm = elm.offsetParent;
                  }
                                                     
                window.scrollTo(intPosX,intPosY);
                element.focus();
            }

           
            function udskriv()
            {
                var e = document.getElementById("klikkede");
               
                //Slet eventuelt eksisterende indhold af 'klikkede' div tag'en.
                clearNode(e);
               
                for (var i=0; i < mylist.length; i++)
                {                   
                    var imgPath = "URL" + mylist[i];
                    var imgNew = document.createElement("img");
                    imgNew.setAttribute("src", imgPath);
                    imgNew.setAttribute("width", "80");
                    imgNew.setAttribute("height", "60");
                     
                    var p = document.createElement('p');
                    var a = document.createElement('a');
                    a.setAttribute("href", "#");
                    a.setAttribute("name", "kjhsdbhbvhsI");
                    a.setAttribute("value", "hjuigbugy");
                    a.onclick = Function('removeListe(' + i + ')');
                     
                    a.appendChild(imgNew);
                    p.appendChild(a);
                    e.appendChild(p);
                    e.appendChild(document.createTextNode("number: " + i));
                }
                scrollToElement(e);
            }
           
            function addEvent(elm, evType, fn)
            {
              if (elm.addEventListener)
              {
                  elm.addEventListener(evType, fn, false);
                  return true;
              }
              else
              {
                  var r = elm.attachEvent('on' + evType, fn);
                  return r;
              }
            }
           
            function clearNode(node)
            {
                while(node.childNodes.length > 0)
                  node.removeChild(node.childNodes[0]);
            }
           
           
            function createCookie(name, value, days)
            {
                if (days)
                {
                    var date = new Date();
                    date.setTime(date.getTime() + (days*24*60*60*1000));
                    var expires = "; expires="+date.toGMTString();
                }
                else
                    var expires = "";

                if(days != -1)
                    document.cookie = name+"="+value+expires;
                else
                    document.cookie = name+"="+value;
            }

            function getCookie( name )
            {
                var start = document.cookie.indexOf( name + "=" );
                var len = start + name.length + 1;
                if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) )
                {
                    return null;
                }
               
                if ( start == -1 )
                    return null;

                var end = document.cookie.indexOf( ";", len );
                if ( end == -1 )
                    end = document.cookie.length;
               
                return unescape( document.cookie.substring( len, end ) );
            }

        </script>
    </head>
    <body onload="init();">
        <table>
            <tr>
                <td>
                    <a href="#" onclick="return addToList('dot_1.gif');">ladida</a>
                </td>
            </tr>
            <tr>
                <td>
                    <a href="#" onclick="return addToList('dot_2.gif');">hutlihut</a>
                </td>
            </tr>
            <tr>
                <td>
                    <input type="button" value="Udskriv array" id="btnOut" onclick="udskriv();" />
                    <input type="button" value="Clear array" id="btnClear" onclick="clearArray();" />
                </td>
            </tr>
            <tr>
                <td style="padding-top: 1000px;">
                    Her kommer indholdet af arrayet:
                    <div id="klikkede"></div>
                </td>
            </tr>
        </table>
    </body>
</html>



Mvh.
CS
Avatar billede crazysnap Seniormester
21. december 2007 - 14:37 #41
Hov, og du skrev læg et svar, så det kommer her. :)

Mvh.
CS
Avatar billede mikmakmuk Nybegynder
28. december 2007 - 10:23 #42
sejt. Tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester