Avatar billede alex15 Nybegynder
26. februar 2010 - 18:42 Der er 8 kommentarer og
1 løsning

Lav (forrige - 1, 2, 3 - næste) om til (Side xx ud af xx - Forrige - Næste)

Hej Allesammen,

Tænkte på om der var nogle som kunne hjælpe mig med noget Javescript om fra følgende side/kode:

http://www.dynamicdrive.com/dynamicindex17/ajaxpaginate/index.htm

Nuværende kode viser:

Forrige 1, 2, 3, 4 Næste

Jeg ønsker:

Side xx ud af xxx  Forrige - Næste

Her er koden:

var paginateHTML='<div class="pagination">'
paginateHTML+='<a href="" rel="'+(selectedpage-1)+'">Previous picture</a>' //previous link HTML


for (var i=0; i<this.pageinfo.pages.length; i++){
    var ellipses={left: (i==0? this.ellipse : ''), right: (i==this.pageinfo.pages.length-1? this.ellipse : '')} //if this is 1st or last page link, add ellipse next to them, hidden by default
    paginateHTML+=''+ellipses.right+'<a href="#page'+(i+1)+'" rel="'+i+'" '+this.pagerangestyle+'>'+(i+1)+'</a>'+ellipses.left+''
}
           
paginateHTML+='<a href="" rel="'+(selectedpage+1)+'">Next picture</a>' //next link HTML
paginateHTML+='</div>'

Håber at i kan hjælpe mig, er virkelig nybegynder i JavaScript stadigvæk. Og har prøvet mig frem og tilbage, uden held.

Alex
Avatar billede preppydude Nybegynder
27. februar 2010 - 00:36 #1
Prøv det her:
var paginateHTML = '<div class="pagination">';
paginateHTML    += 'Side '+parseInt(selectedpage)+' af '+parseInt(this.pageinfo.pages.length);
paginateHTML    += ' - ';
paginateHTML    += '<a href="" rel="'+parseInt(selectedpage-1)+'">Forrige</a>';
paginateHTML    += ' - ';
paginateHTML    += '<a href="" rel="'+parseInt(selectedpage+1)+'">Næste</a>';
Avatar billede alex15 Nybegynder
27. februar 2010 - 23:30 #2
Hvis jeg skriver ovenstående kommer der følgende:

Side 0 af 38 - Forrige - Næste

Og når jeg prøver at klikke mig frem og tilbage, er det som om at der ikke sker noget, og at den i stedet uploader hele siden på ny.
Avatar billede preppydude Nybegynder
27. februar 2010 - 23:42 #3
Det lyder underligt.

var paginateHTML = '<div class="pagination">';
paginateHTML    += 'Side '+parseInt(selectedpage+1)+' af '+parseInt(this.pageinfo.pages.length+1);
paginateHTML    += ' - ';
paginateHTML    += '<a href="#page'+parseInt(selectedpage-1)+'" rel="'+parseInt(selectedpage-1)+'">Forrige</a>';
paginateHTML    += ' - ';
paginateHTML    += '<a href="#page'+parseInt(selectedpage+1)+'" rel="'+parseInt(selectedpage+1)+'">Næste</a>';
paginateHTML    += '</div>';
Avatar billede alex15 Nybegynder
27. februar 2010 - 23:47 #4
Sådan, nu er vi der næsten. Nu skifter den korrekt mellem billederne, den viser dog desværre kun 1 ud af 9.

Selv om det er billede 4 der fx bliver vist.
Avatar billede preppydude Nybegynder
27. februar 2010 - 23:52 #5
Lyder mystisk. Er du sikker på den kører det stykke kode der hver gang?
Avatar billede alex15 Nybegynder
27. februar 2010 - 23:59 #6
Næh, det er jeg som sådan ikke. Er ikke rigtig så meget inde i det her Javascript. Men altså, denne kode:

for (var i=0; i<this.pageinfo.pages.length; i++){
    var ellipses={left: (i==0? this.ellipse : ''), right: (i==this.pageinfo.pages.length-1? this.ellipse : '')} //if this is 1st or last page link, add ellipse next to them, hidden by default
    paginateHTML+=''+ellipses.right+'<a href="#page'+(i+1)+'" rel="'+i+'" '+this.pagerangestyle+'>'+(i+1)+'</a>'+ellipses.left+''
}

Viser følgende resultat:

1 ... 4 (5) 6 ...8

Og, hvis jeg så trykker næste, eller på tallet 6, så skiftet den til:

1 ... 5 (6) 7 8

Så det må jo være muligt?
Avatar billede alex15 Nybegynder
28. februar 2010 - 00:24 #7
Du kan se hele koden her, hvis det skulle hjælpe, det kan være at det er et helt andet sted hvor der skal ændres:

http://www.dynamicdrive.com/dynamicindex17/ajaxpaginate/ajaxpagination.js
Avatar billede alex15 Nybegynder
01. marts 2010 - 10:54 #8
Sådan, nu begynder jeg at nærme mig det via din hjælp: har ændret følgende:

Kode:

var paginateHTML = '<div class="pagination">';
for (var i=-1; i<this.pageinfo.pages.length; i++){
    var ellipses={left: (i==0? this.ellipse : ''), right: (i==this.pageinfo.pages.length-1? this.ellipse : '')} //if this is 1st or last page link, add ellipse next to them, hidden by default
    paginateHTML+=''+ellipses.right+'<a href="#page'+(i+1)+'" rel="'+i+'" '+this.pagerangestyle+'>'+(i+1)+'</a>'+ellipses.left+''
}
paginateHTML    += ' af '+parseInt(this.pageinfo.pages.length) +'-';
paginateHTML    += '<a href="#page'+parseInt(selectedpage-1)+'" rel="'+parseInt(selectedpage-1)+'">Forrige</a>';
paginateHTML    += ' - ';
paginateHTML    += '<a href="#page'+parseInt(selectedpage+1)+'" rel="'+parseInt(selectedpage+1)+'">Næste</a>';
paginateHTML    += '</div>';

Ovenstående giver følgende resultat:

1 af 8-Forrige - Næste

Og 1 skifter korrekt derudaf, mens man trykker på Næste. Problemet er bare nu, at Forrige linket ikke virker?

Hvad kan der være galt med det link nu?
Avatar billede alex15 Nybegynder
02. oktober 2011 - 17:36 #9
Hej, jeg er igang med at lukke af for mine åbne spørgsmål, så hvis i giver lave et svar, så får i lige nogle point for jeres hjælp.

Jeg beklager at jeg ikke har været bedre til at svare tilbage.

Alex
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