2010-11-13 31 views
3

Sur le code ci-dessus, nous:jquery - effet de saut indésirables (il se produit souvent et je ne comprends pas pourquoi)

1) Cliquez sur Categoria A puis, 2) cliquez sur l'un des titres audacieux Ca apparaît.

Vous remarquerez que tout en augmentant au lieu du mouvement pour être lisse, il saute près de la fin du processus de spectacle. (Il semble que lorsqu'il trouve un <p> il saute);

Quelle pourrait être la cause d'un tel comportement?

Voici son code connexe: Code:

$('#btCategoriaA').click(function() { 
      $('#btCategoriaA').toggleClass('selecionado'); 
      $('#listaCategoriaA').slideToggle('slow', function() { 
      }); 
     }); 


     $('#btCategoriaB').click(function() { 
      $('#btCategoriaB').toggleClass('selecionado'); 
      $('#listaCategoriaB').slideToggle('slow', function() { 
      }); 
     }); 

     $('#btCategoriaC').click(function() { 
      $('#btCategoriaC').toggleClass('selecionado'); 
      $('#listaCategoriaC').slideToggle('slow', function() { 
      }); 
     }); 



     function mostraDesafio(num){ 
      $('#detalheDesafio'+num).slideToggle('slow'); 
     } 

Dois-je fournir plus d'informations, s'il vous plaît, me faire savoir à ce sujet.

K. Cordialement, MEM

Répondre

4

Donnez votre élément .detalheDesafio une largeur définie en CSS. Cela devrait le réparer.

.detalheDesafio { 
    width: 308px; 
} 

Je ne me souviens pas pourquoi il est nécessaire, mais la méthode .slideToggle() l'exige en quelque sorte.

+0

je luttais avec cela pour tant de sites. Merci beaucoup! ;) – MEM

+0

@MEM - De rien. : o) – user113716

0

Ce qui a fonctionné pour moi était de supprimer les marges supérieures de l'élément supérieur < p> dans l'élément que j'essayais de .slideToggle(). Cela a enlevé le bug sautant à la fin.

Autres bonnes suggestions à propos de ce bug: http://api.jquery.com/slideToggle/