IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Déplacement d'un li dans la liste : comment sauvegarder la nouvelle position


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 30
    Points : 23
    Points
    23
    Par défaut Déplacement d'un li dans la liste : comment sauvegarder la nouvelle position
    Bonjour

    Voila, j'ai fait un système en javascript qui permet de déplacer un <li> dans un liste <ul> donc ça marche bien, mais je ne peut pour le moment pas sauvegarder la position et c'est bien là le problème.
    De plus il faut savoir que la liste est la liste d'albums photos du membre. Dans ma base de donnée j'ai rajouté un champs "positions" dans la table albums.
    J'ai aussi mit un "infinite-scroll" sur la liste d'album, autrement dit, les 30 premiers albums sont chargés au chargement de la page puis quand on descends le scroller, 30 de plus sont chargés etc et du plus récent au plus vieux.

    Donc ensuite quand on déplace un li, je récupère dans une variable l'id de l'album, un requête ajax est exécutée, seulement je n'arrive pas à voir comment je pourrais faire pour enregistré la position de l'image
    Pour l'instant là, le champs position vaut l'id de l'album (donc si l'id de l'album est de 31, "position" vaut 31 , mais je ne vois pas comment faire ensuite pour enregistré la position de ce dernier un fois déplacer.

    Autre information, il m'est aussi possible de récupéré un array de la liste des id des albums qui est affichée en javascript donc de façon dynamique.

    Pourriez vous m'aider dans la théorie?

    Merci d'avance
    Cordialement

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Tu veux faire quoi ? Changer la position d'une image ?

    Si tu utilises un tableau pour stocker tes images tu peux modifier l'ordre des éléments de ton tableau en php avec array_splice() (par l'intermédiaire d'une requête ajax) et tu retourne le nouveau tableau pour reconstruire la partie du DOM qui affiche les images.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 30
    Points : 23
    Points
    23
    Par défaut
    Oui en gros c'est ce que je veux faire, par contre pour l'array, il y a un problème, c'est qu'a cause de l'infinite scroll, je ne peux avoir que les 30 premiers images( du moins si l'on ne scroll pas) donc y aurais il une autre solution sans forcement avoir toutes les positions?

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    A la place de ta fonction js qui déplace l'image tu mets un input pour rentrer le nouveau numéro d'ordre, d'ailleurs c'est beaucoup plus fonctionnel et rapide même si ça fait moins hi tech.
    Ou alors tu supprime ton infinit scroll, pour une partie administrateur c'est pas gênant (et puis au passage c'est vraiment de la daube ces infinit scroll, un système d'affichage page par page en js est beaucoup plus pratique).

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 30
    Points : 23
    Points
    23
    Par défaut
    ^^ le problème c'est que c'est pour une espace membre, donc pas question pour de supprimer l'infinite scroll ni de mettre des input (on est en 2011 je crois )

    J'aimerais enfaite reproduire le même effet que sur Facebook, on a un infinite scroll, et on peut tout de même déplacer les photos/albums, donc comment faire?

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Ben oui mais j'ai pas de compte facebook et donc je peux pas voir leur système d'album photo (et ça ne me dérange pas plus que ça). J'ai quand même l'impression que ton problème relève plus de javascript que de php. Essayes de poser ta question dans le forum javascript, tu auras certainement plus de réponses.

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    ben passe un json pas ajax

    construit ton ul à partir du json

    modifies les positons => recrées le json après modification
    passes le json en ajax pour sauvegrader l'ordre

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/05/2015, 14h16
  2. Réponses: 3
    Dernier message: 08/05/2006, 16h18
  3. Comment rappeler une fonction dans une liste déroulante
    Par strogos dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/05/2005, 23h54
  4. [langage] Comment rajouter des champs dans une liste
    Par toto_titi dans le forum Langage
    Réponses: 4
    Dernier message: 28/08/2003, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo