2010-10-29 34 views
1

J'utilise le plugin Jquery cycle pour créer un diaporama annonces. Je voudrais mettre en pause le diaporama lorsque l'utilisateur clique sur l'un des liens pager. J'ai essayé d'utiliser la fonction pagerClick et attacher la fonction de pause à l'événement onclick pour les liens pager, mais ni travaillé. Pouvez-vous aider?Jquery Cycle Plugin - Comment faire une pause diaporama quand un lien pager est cliqué

$('#highlights') 
.after('<div id="pager">') 
.cycle({ 
    fx: 'fade', 
    timeout: 4000, 
    pager: '#pager', 
    pagerEvent:'mouseover', 
    activePagerClass: 'active', 
    pause: 1, 
    pauseOnPagerHover: 1, 
    pagerClick:function() {$('#highlights').cycle('pause')} 
}); 

Répondre

2

De l'pause/resume demo vous devriez être en mesure de le faire:

$('#pager a').click(function() { 
    $('#highlights').cycle('pause'); 
}); 

Cela devrait se lier aux liens dans votre téléavertisseur.

$('#highlights') 
.after('<div id="pager">') 
.cycle({ 
    fx: 'fade', 
    timeout: 4000, 
    pager: '#pager', 
    pagerEvent:'mouseover', 
    activePagerClass: 'active', 
    pause: 1, 
    pauseOnPagerHover: 1 
}); 

$('#pager a').click(function() { 
    $('#highlights').cycle('toggle'); 
}); 
+0

C'est ce que je pensais aussi, mais je l'ai déjà essayé et ça n'a pas marché. – Julie

+0

Besoin de voir plus de votre code alors. avez vous un lien? –

+0

pour une raison quelconque en utilisant toggle fonctionne, mais pas en pause. Mais c'est très bien avec moi, ça fait la même chose. $ ('# pager a'). Click (function() { $ ('# highlights'). Cycle ('bascule'); }); – Julie

1

En utilisant la commande de pause a fonctionné pour moi avec le code suivant:

jQuery(document).ready(function($) { 

    $('#highlights').cycle({ 
     fx:  'fade', 
     speed: 'slow', 
     timeout: 4000, 
     pager: '#pager', 
     pagerAnchorBuilder: function(idx, slide) { 
      return '#controls a:eq(' + idx + ')'; 
     } 
    }); 

    $('#pager a').click(function() { 
     $('#highlights').cycle('pause'); 
    }); 

}); 
0

Essayez le réglage pauseOnPagerHover à 0 ... Lorsque vous définissez que 1, il fait une pause lorsque vous passez la souris sur le téléavertisseur, mais comprend également une fonction à jouer sur le mouseout. Par conséquent, votre fonction onclick met en pause un spectacle déjà suspendu, puis lorsque votre curseur quitte le pager, la fonction mouseout le fait quand même jouer de nouveau.

Je suppose que 'toggle' pourrait fonctionner parce que le cycle utilise peut-être basculer pour jouer et mettre en pause dans la fonction pauseOnPagerHover? Vous êtes alors en pause en vol stationnaire, en jouant sur le clic, en marquant une pause à nouveau au passage du curseur.