2010-05-10 10 views
0
<ul> 
    <li><a href="#">one</a></li> 
    <li><a href="#">two</a></li> 
    <li><a href="#">three</a></li> 
</ul> 

Je voudrais montrer un seul li à la fois en utilisant l'effet de diapositive, c'est tout. Je voudrais éviter d'utiliser des plugins pour quelque chose d'aussi simple que cela.Simple Ticker (jQuery)

Merci d'avance pour votre aide.

+3

Essayez ou louer-élancer un codeur – Quentin

+0

Je pense qu'il utilise de location de codeur, et est payé pour cela;) – Konerak

+0

est SO plus le même J'imagine. J'ai posé beaucoup de questions similaires et j'ai toujours reçu de l'aide, mais peut-être que ces gars sont partis et que vous êtes arrivé? Merci quand même, j'ai trouvé une solution moi-même. – 3zzy

Répondre

4

j'ai fait quelque chose de simple pour vous (sur la base sur votre description), juste pour vous diriger dans la bonne direction:

vérifier ici: http://jsfiddle.net/meo/ACenH/234/

function slider(container, delay){ 
$container = $(container) // select the container elements and store them in a variable 

if (!$container.length){ return fasle; } // checks if the slider exists in your dom. if not the function ends here... 

    var slides = $container.length, // gives back the total LI's you have 
     slide = 0 // set the actual li to show 

     setInterval(function(){ // set a Interval for your main function 
      if (slide == slides - 1) { // if the actual slide is equal the total slides (-1 because eq is 0 based and length gives back the number of elements in the jQuery object) the slide counter is set to 0 
       $container.slideDown(); // and all slides a shown again 
       slide = 0; 
      } else { 
       $container.eq(slide).slideUp(); //slides the selected slide up i think you could think of a solution with .next() instead of eq() 
       slide++; // slide counter +1 
      } 

     }, delay) 

} 

slider('ul > li', 2000); // call your slider function 
+0

typo like 3, 'fasle' –