Bonjour à tous,
Je remercie en premier lieu tous les participants de ce forum et également toutes les personnes qui contribue à réaliser des Tutos.
Voici mon problème :
J'ai suivi le tuto suivant : Une galerie d'images simple avec jQuery afin de réaliser une galerie d'image
et je souhaite y apporter une petite modification, je souhaiterais récupérer la valeur 'href' de la photo en cours de sélection afin de remplir l'attribut value d'un champ input.
J'ai donc essayer de modifier le fichier JS afin d'utiliser jQuery pour le faire mais toutes mes tentatives n'ont pas fonctionnées.
Je me suis donc résolu à utiliser du bon vieux JS comme suit sur chaque élément <a> :
Ce code fonctionne mais cela ne rempli pas mon input lors du chargement de la galerie car la première image sélectionnée n'a pas été cliqué.
Je me doute bien que cela doit être possible directement avec jquery dans le code de la galerie mais je n'ai pas réussi à faire en sorte que mon input soit automatiquement rempli.
Voici ce que j'ai compris, il faut modifier 2 chose, la première la fonction qui mets en surbrillance la première image :
Puis modifier la fonction qui permet lors du click d'une miniature de charger la grande photo
Dans cette fonction la variable target contient la valeur que je souhaite placée dans mon input
Je remercie touts les personnes qui prendront le temps de me lire et éventuellement de me répondre, je précise que je ne cherche pas un code tout fait je suis dans une démarche d'apprentissage et souhaite donc comprendre pour apprendre.
Modifié par Grinvald (25 Jan 2012 - 18:15)
Je remercie en premier lieu tous les participants de ce forum et également toutes les personnes qui contribue à réaliser des Tutos.
Voici mon problème :
J'ai suivi le tuto suivant : Une galerie d'images simple avec jQuery afin de réaliser une galerie d'image
et je souhaite y apporter une petite modification, je souhaiterais récupérer la valeur 'href' de la photo en cours de sélection afin de remplir l'attribut value d'un champ input.
J'ai donc essayer de modifier le fichier JS afin d'utiliser jQuery pour le faire mais toutes mes tentatives n'ont pas fonctionnées.
Je me suis donc résolu à utiliser du bon vieux JS comme suit sur chaque élément <a> :
<script type="text/javascript">
function remplirInput(id,txt) {
document.getElementById(id).value = txt;
}
</script>
<a onclick="remplirInput('id_input',this.href);\" href=''></a>
Ce code fonctionne mais cela ne rempli pas mon input lors du chargement de la galerie car la première image sélectionnée n'a pas été cliqué.
Je me doute bien que cela doit être possible directement avec jquery dans le code de la galerie mais je n'ai pas réussi à faire en sorte que mon input soit automatiquement rempli.
Voici ce que j'ai compris, il faut modifier 2 chose, la première la fonction qui mets en surbrillance la première image :
var thumbLinks = $("#"+settings.thumbListId).find("a"),
firstThumbLink = thumbLinks.eq(0),
highlight = function(elt){
thumbLinks.removeClass(settings.activeClass).removeAttr("title");
elt.addClass(settings.activeClass).attr("title",settings.activeTitle);
}
Puis modifier la fonction qui permet lors du click d'une miniature de charger la grande photo
thumbLinks
.click(function(e){
e.preventDefault();
var $this = $(this),
target = $this.attr("href");
if (bigPic.attr("src") == target) return;
highlight($this);
imgViewer.html(loader);
bigPic
.load(function(){
imgViewer.html($(this).fadeIn(250));
})
.attr("src",target);
});
Dans cette fonction la variable target contient la valeur que je souhaite placée dans mon input
Je remercie touts les personnes qui prendront le temps de me lire et éventuellement de me répondre, je précise que je ne cherche pas un code tout fait je suis dans une démarche d'apprentissage et souhaite donc comprendre pour apprendre.
Modifié par Grinvald (25 Jan 2012 - 18:15)