2017-02-22 4 views
0

Je suis l'implémentation d'une galerie de photos sur un appareil mobile et je travaille sur l'algorirthm de tri lorsque l'utilisateur swipes right ou swipes left. Ma compréhension est que je devrais garder une position de pointeur pour suivre quelle position im à. J'ai aussi une variable pos bc je pensais id besoin de connaître le point de position mais je crois avoir la variable pos n'est pas nécessairepointeur ne référençant pas la position correctement pour l'algorithme tactile de la galerie d'images

Voici mon code actuel:

var cnt=0;var ptr=0;var pos=0; 
var total=10; 
function newimageshow(dir){ 
    if(dir=='ltr'){ 
    if(pos==0){ 
     ptr=total-1; 
    } else { 
     ptr--; 
    } 
    } else { 
    if(pos==0){ 
    ptr=0; 
    } else { 
    ptr++; 
    } 
    } 
    if(pos==(total-1)){ 
    pos=0; 
    } else { 
    pos++; 
    } 
    alert(dir+" Ptr: "+ptr); 
} 

newimageshow('ltr'); // on swipe left; 
newimageshow('rtl'); // on swipe right 

Ceci est complètement faux, mais ma première tentative.

Essentiellement, voici ce qui devrait se produire:

0 - charge initiale de la galerie avec un pointeur de 0

1 - L'utilisateur Swipes droit et le pointeur doit être de 1

2 - Swipes utilisateur à gauche et le pointeur doit être 0

3 - balayages gauche de l'utilisateur et le pointeur doit être 9 (total-1)

4 - balayages de l'utilisateur à gauche et le pointeur doit être 8

5 - l'utilisateur glisse droite et le pointeur doit être 9

6 - L'utilisateur glisse droite et le pointeur doit être 0

7 - balayages de l'utilisateur à droite et le pointeur doit être de 1

7 - l'utilisateur glisse à droite tout-1 et le pointeur doit être 9

8 - l'utilisateur glisse droite et le pointeur doit être 0

Répondre

0
function newimageshow(dir){ 
    if(dir=='ltr'){ 
    if(ptr==0){ 
    ptr=total-1; 
    } else { 
    ptr--; 
    } 
} else { 
    if(ptr==(total-1)){ 
    ptr=0; 
    } else { 
    ptr++; 
    } 
} 
var img=document.getElementById("imggall"); 
img.src="/img/gall1/"+imgs[ptr]; 
} 
+3

Pourriez-vous fournir un texte explicatif? (La réponse a été marquée "qualité médiocre".) –