2012-09-27 5 views
0

У меня проблема с раздвижными divs с помощью jquery. Если я нажимаю ссылки на быстрый (например, первое звено и сразу второе звено), divs будут перекрываться (что они не должны делать!). Вот мой код:jquery: Перекрытие слайд-шоу div. Нажатие на fast messes up

<script type="text/javascript"> 

$(document).ready(function() {  
    $("div.slide").hide(); 

$('a.link').on('click', function(e) { 

    e.preventDefault(); 
    var slideSelector = '#' + $(this).attr('id').replace('link', 'slide'); 

    $('div.slide').not(slideSelector).slideUp(1000, 'easeOutQuart', function() { 
    $(slideSelector).slideDown(1000, 'easeOutQuart'); 
    }); 


    });  

}); 

</script> 

Посмотрите на DEMO и посмотреть, что я имею в виду. Я был бы очень рад услышать от вас, ребята!

+0

попытаться использовать функцию '.stop()' jQuery. Например: '$ (slideSelector) .stop(). SlideDown (1000, 'easeOutQuart'); ' – SpYk3HH

+0

Большое вам спасибо, но это не исправить ... – rekeszus

+0

Я думаю, что мой ответ тот, который вам нужен, я попробовал пару раз, и он больше не испортится :) http: // jsfiddle .net/eEkk6/5/<- обновленная версия вашего – Nicholas

ответ

1

hmmm просто добавьте логическое значение, чтобы проверить, есть ли нажатие на него? Я быстро протестировал его с помощью трекпада, и он должен работать

$(document).ready(function() 
{  
    $("div.slide").hide(); 
    var clicked = false; 
    $('a.link').on('click', function(e) 
    { 

     if(!clicked) 
     { 
     e.preventDefault(); 
     clicked = true; 
     var slideSelector = '#' + $(this).attr('id').replace('link', 'slide'); 

     $('div.slide').not(slideSelector).slideUp(1000, function() 
     { 
      $(slideSelector).slideDown(1000, function(){ 
      clicked = false; 
      }); 
     }); 
     } 

    });  

});​ 
+0

большое вам спасибо! но когда я использую свой код в своем оригинальном веб-дизайне, он беспорядок все ... нет анимации и все divs перекрываются ... :( – rekeszus

+0

hmmm у вас может быть опечатка в коде ур, проверьте консольное окно :) – Nicholas

+0

aaah когда я скопировал ваш код от jsfiddle работал! спасибо тебе много! : D – rekeszus