Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Javascriptin päivitys

Sivun loppuun

sane [15.08.2006 16:58:53]

#

Kuinka saan linkkiä painamalla sivun sisältöä päivitettyä kutsumatta funktiota? Eli sivulla on seuraavanlainen koodipätkä ja kun painaa nuolta eteenpäin "seuraavat();" Pitäisi tämän funktion kutsuminen vaikuttaa koko sivulla olevaan kirjoitukseen (document.writellä laitettu). Koodi sivun body tagin sisällä on seuraavanlainen, ja sitten headissa on funktiot. Olen yrittänyt muuttaa tämän funktioksi, mutta silloin se hävittä kaiken muun sivulta, eli onko tähän mitään muuta tapaa? Ja kohdat, jotka pitäisi päivittää aina painaessa, ovat nämä ehtolausekkeiden tarkistamiset ja funktioiden kutsumiset tuon document.writen sisältä.

<script type="text/javascript">
           document.write("<table><tr>");
           if(lasku != 0){
              document.write("<td><a href=\"javascript:edelliset();\"><img src=\"t.png\" border=\"0\" /></a></td>");
              }
           for(k = 0; k < 9; k++){
               document.write("<td width=\"90\"><a href=\"" + linkki(k) + "\"><img border=\"0\" src=\"" + kuva(k) + "\" /></a></td>");
               }
           if(lasku < kuvat.length){
              document.write("<td><a href=\"javascript:seuraavat();\"><img src=\"e.png\" border=\"0\" /></a></td>");
              }
           document.write ("</tr></table>");

 </script>

Lebe80 [15.08.2006 17:28:10]

#

Oletkohan nyt alunperinkin lähtenyt ns. takaperin puuhun?

sane [15.08.2006 21:05:48]

#

Lebe80 kirjoitti:

Oletkohan nyt alunperinkin lähtenyt ns. takaperin puuhun?

Jaa, voikko sit neuvoo miten mennään oikein päin?:P Pystyykö linkkien arvoja määrittää funktion avulla, tyyliin linkki1.href = "jotakin";? Tätäkin yritin, mutta sanoi, ettei linkki1:llä ole ominaisuuksia tjsp..

kayttaja-2791 [15.08.2006 21:15:16]

#

Laitat sen funktioksi, ja laitat sen funktion ajettavaksi sivun latauksen yhteydessä. Muistaakseni se kävi vaikka näin: <body onload="funktio();">

sane [15.08.2006 21:17:52]

#

JTS kirjoitti:

Laitat sen funktioksi, ja laitat sen funktion ajettavaksi sivun latauksen yhteydessä. Muistaakseni se kävi vaikka näin: <body onload="funktio();">

Jep, tätä on yritetty, mutta ongelmana oli, että näin tehden sivulta katosi kaikki muu sisältö:( No pitäis vissii sit toteuttaa kaikki muukin sisältö tolla funktiolla, vaikka tuntuukin hieman turhalta.

Blaze [15.08.2006 21:34:08]

#

sane kirjoitti:

Pystyykö linkkien arvoja määrittää funktion avulla, tyyliin linkki1.href = "jotakin";? Tätäkin yritin, mutta sanoi, ettei linkki1:llä ole ominaisuuksia tjsp..

Toki, kunhan ensin kaivat sen linkin DOM-puusta jotenkin esille. ID:n perusteella tuo taitaa olla helpointa, ts.

<a id="linkki" href="http://www.mureakuha.com">hyvä ohjelmointisivusto</a>

document.getElementById("linkki").href = "https://www.ohjelmointiputka.net";

kayttaja-2791 [15.08.2006 21:36:51]

#

Document.write taitaa pyyhkiä vanhan kun käytetään funktioissa (käytetään document.open methodia joka pyyhkii vanhan datan). Katsopa tuolta josko document.createTextNode sopisi paremmin:
http://developer.mozilla.org/en/docs/DOM:document.createTextNode

sane [15.08.2006 21:53:55]

#

JTS kirjoitti:

Document.write taitaa pyyhkiä vanhan kun käytetään funktioissa (käytetään document.open methodia joka pyyhkii vanhan datan). Katsopa tuolta josko document.createTextNode sopisi paremmin:
http://developer.mozilla.org/en/docs/DOM:document.createTextNode

Tuo olisi muuten hyvä, mutta ainakin tuon esimerkin mukaan se vaan lisää aina sitä tekstiä, mikä ei oikein sopisi tähän käyttötarkoitukseen. Eli pitäisi poistaa se aikaisemmin javascriptillä kirjoitettu teksti, mutta ei poistaa sitä jota on sivulla jo entuudestaan.

kayttaja-2791 [15.08.2006 21:58:56]

#

No tuo blazen koodihan "riittää"? Koko höttömölö sijaitsee taas sijainnissa: document.getElementById("linkki").innerHTML

Siitäkin voit sitä muokata...

sane [15.08.2006 22:01:52]

#

Kiitoksia vastauksista, en huomannut tuota Blazen koodia edellisen vastauksen yhteydessä. Eiköhän näillä pärjää sit:)

Olga [16.08.2006 10:51:31]

#

DOM:n avullahan nuo tosiaan hoituisi fiksuimmin. Solmuja voi poistaa puusta funktiolla removeChild. Lisäinfoa: http://developer.mozilla.org/en/docs/DOM:element


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta