J'ai le code HTML suivant:
<a href="#" id="#1" class="pagerlink" >link</a>
<a href="#" id="#3" class="pagerlink" >link</a>
<a href="#" id="#2" class="pagerlink" >link</a>
/*etc.... */
et le script jQuery suivant:
$(document).ready(function() {
var $container = $('.gallery_r').cycle({
fx: 'scrollHorz',
speed: 500,
timeout: 0
});
$('a.pagerlink').click(function() {
var id = $(this).attr('id');
$container.cycle(id);
return false;
});
});
le contrôle des liens 'pagerlink' est sur jQuery Cycle slideshow. Si j'échange cette ligne:
$container.cycle(id);
pour ça
$container.cycle(7);
ça marche ... (visiblement seulement pour aller à la diapositive 7). Ma question est donc de savoir comment puis-je récupérer l'ID du lien sur lequel on clique et le transférer dans cette ligne?
Merci d'avance!
Vos identifiants sont #1
, et cycle
veut juste qu'un numéro lui soit passé. Vous devez retirer le #
_ avant d'appeler cycle
.
$('a.pagerlink').click(function() {
var id = $(this).attr('id');
$container.cycle(id.replace('#', ''));
return false;
});
De plus, les identifiants ne doivent pas contenir le #
caractère, il est invalide (les identifiants numériques sont également invalides). Je suggère de changer l'ID en quelque chose comme pager_1
.
<a href="#" id="pager_1" class="pagerlink" >link</a>
$('a.pagerlink').click(function() {
var id = $(this).attr('id');
$container.cycle(id.replace('pager_', ''));
return false;
});
Il vous suffit de supprimer le hachage depuis le début:
$('a.pagerlink').click(function() {
var id = $(this).attr('id').substring(1);
$container.cycle(id);
return false;
});
Votre identifiant sera passé en tant que # 1, # 2, etc. Cependant, # n'est pas valide en tant qu'ID (identificateurs de préfixe CSS avec #).
Tout d'abord, vous ne pouvez pas avoir juste un numéro pour votre identifiant, sauf si vous utilisez HTML5 DOCTYPE. Deuxièmement, vous devez supprimer le # de chaque ID ou le remplacer par ceci:
$container.cycle(id.replace('#',''));