[javascript] parameter meegeven naar een volgende pagina

Pagina: 1
Acties:
  • 175 views sinds 30-01-2008
  • Reageer

  • sparkle
  • Registratie: November 2004
  • Laatst online: 12-08-2024
beste tweakers,

ik wou graag mbv javascript een foto gallery maken, echter moet deze uit 2 pagina's bestaan.

Pagina 1: de gallery zelf met allemaal thumbnails van de plaatjes
Pagina 2: het aangeklikte plaatje in de gallery (inclusief onderaan de foto de links naar het vorige & volgend plaatje)

Dus vraag ik me nu af, wat zijn de mogelijke methode's om het aangeklikte plaatje (de naam ervan) door te geven aan pagina 2?

hoor het graag >:)
gr sparkle

  • Cartman!
  • Registratie: April 2000
  • Niet online
Je maakt een link naar pagina 2 en in pagina 2 pak je die waarde eruit mbv. het opvragen van de query string. Met google kwam ik snel op het volgende :
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 <script>
function getQueryVariable(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  } 
  alert('Query Variable ' + variable + ' not found');
}
</script>

Now make a request to page.html?x=Hello

<script>
  alert( getQueryVariable("x") );
</script>


Hiermee moet het dus wel kunnen.
Ik raad je echter aan om gebruik te maken van server side scripting als PHP, veel meer geschikt voor dergelijke projectjes imo.

Trouwens, wat heb je zelf voor moeite gedaan dit uit te zoeken? Er word wel verwacht dat je zelf al research gedaan hebt. De code hierboven komt namelijk uit de 1e hit op google na zoeken op 'querystring javascript'

[ Voor 12% gewijzigd door Cartman! op 15-09-2006 12:24 ]


  • sparkle
  • Registratie: November 2004
  • Laatst online: 12-08-2024
Mijn javascript kennis schiet hier me iets bij te kort, wat jij gevonden zoiets vergelijkbaars had ik ook gevonden. Dus ik ben wat gaan scripten en kwam met de volgende code
PHP:
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
<script language="javascript">
<!--

var i = getImage('i');
var noimage = "../art/noimage.jpg";

function getImage(name)
{
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var tmpURL = window.location.href;
  var results = regex.exec( tmpURL );
  if( results == null )
    return noimage;
  else
    return results[1];
}

function writeImage()
{
    document.write("<img src=\"" + i + ".jpg\">");
}

function writeNext
{
    var nextI = i++;
    
    document.write("<a href=\"foto_a" + nextI + ".html\" class=\"terug\">next&nbsp;&gt;&gt;</a>")
}

writeImage();

writeNext();

//-->
</script>


En dan natuurlijk als url zoiets als dit: pagina2.html?i=5

Enig idee hoe hier een werkende code van te krijgen? Ik heb namelijk geen idee

[ Voor 3% gewijzigd door sparkle op 15-09-2006 12:34 ]


  • sparkle
  • Registratie: November 2004
  • Laatst online: 12-08-2024
Wat ik ook eigenlijk probeer duidelijk te maken. Ooit een javascript photo gallery bestaande uit 2 pagina's (zoals ik hem beschreef) gezien? Ik niet iig.

Volgens mij is nog nooit iemand die uitdaging daarmee aangegaan met javascript.

  • Cartman!
  • Registratie: April 2000
  • Niet online
Het zal vast wel bestaan maar ik denk dat vrijwel iedereen zich realiseert dat je voor een dergelijk systeem beter serverside scripting voor kunt pakken. Waarom wil je dit zo graag doen met javascript?

Mocht je dit zo graag willen doen : debuggen! Waar gaat het mis? alert die waarden die je opvraagt bijv. Pak Firefox met de Firebug plugin, kun je veel waardevolle info uithalen. Misschien werkt die functie van je niet en probeer die uit mn vorige post. Het is helemaal niet een moeilijke opdracht volgens mij maar je wilt dat het in 1 keer werkt en zo werkt het alleen vaak niet (leuke zin ;))

  • sparkle
  • Registratie: November 2004
  • Laatst online: 12-08-2024
g00fy schreef op vrijdag 15 september 2006 @ 12:44:
Het zal vast wel bestaan maar ik denk dat vrijwel iedereen zich realiseert dat je voor een dergelijk systeem beter serverside scripting voor kunt pakken. Waarom wil je dit zo graag doen met javascript?

Mocht je dit zo graag willen doen : debuggen! Waar gaat het mis? alert die waarden die je opvraagt bijv. Pak Firefox met de Firebug plugin, kun je veel waardevolle info uithalen. Misschien werkt die functie van je niet en probeer die uit mn vorige post. Het is helemaal niet een moeilijke opdracht volgens mij maar je wilt dat het in 1 keer werkt en zo werkt het alleen vaak niet (leuke zin ;))
Haha. Bedankt voor de tips.

En helaas, de opdrachttegever wilt het in javascript en nergens anders in. helaas.

  • Cartman!
  • Registratie: April 2000
  • Niet online
sparkle schreef op vrijdag 15 september 2006 @ 13:24:
[...]

Haha. Bedankt voor de tips.

En helaas, de opdrachttegever wilt het in javascript en nergens anders in. helaas.
Aan jou dus de taak om de opdrachtgeven te overtuigen dat wat ie wil zuigt :)

  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
Om de image te voorschijn te toveren zou ik eerder:
JavaScript:
1
2
3
4
5
6
7
8
function setImage(dir, im) 
{ 
    // in de html-file: bigimage.html?d=xxx&i=foo.jpg staat er:
    // <img src="./pix/algemeen/gallery.nopic.jpg" id="bigimage">
    document.getElementbyId('bigimage').src = "./pix/gallery/" + dir +"/" + im;
    document.getElementbyId('bigimage').alt = "[foto: " + dir +"/" + im + "]";
    document.getElementbyId('bigimage').title = "[foto: " + dir +"/" + im + "]";
} 

Om de link te voorschijn te toveren zou ik eerder:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
maxnumberofpix = 25;

function setLinks(dir, im) 
{ 
    next = (im >= maxnumberofpix) ? "./.." : "./bigimage.html?d=" + dir +"&i="+ (1+im);
    prev = (im <= 0) ? "./.." : "./bigimage.html?dir=" + dir +"&im="+ (-1+im)

    // in de html-file: bigimage.html?d=xxx&i=foo.jpg staat er:
    // <a href="./.." title="next" id="next">next</a>
    // <a href="./.." title="previous" id="prev">previous</a>
    document.getElementbyId('next').href = "./bigimage.html?d=" + dir +"&i=" + (1+im);
    document.getElementbyId('prev').href = "./bigimage.html?d=" + dir +"&i=" + (-1+im);
} 


Ziezo weer een huistaak in orde...

[ Voor 42% gewijzigd door moozzuzz op 15-09-2006 16:30 ]


  • sparkle
  • Registratie: November 2004
  • Laatst online: 12-08-2024
Hardstikke bedankt ieder! Het begint al ergens op te lijken, probleem opgelost.
Pagina: 1