Как исправить CSS элемента JQuery Slide - PullRequest
0 голосов
/ 09 июня 2011

Я создал слайд jquery для события hover. Внизу страницы у меня есть элемент слайдера, который будет раскрываться, когда мышь наводит курсор на элемент. У меня есть вкладка, которая будет торчать верхнюю часть элемента, чтобы напомнить пользователю, что функциональность существует. Эта вкладка вызывает у меня много проблем, и когда вы наводите курсор на вкладку, элемент будет многократно расширяться и сжиматься. Я попытался отредактировать CSS, и он работал правильно, когда я удалил margin-top, но дизайн был не таким, как задумывалось. Я попытался добавить DIV, чтобы решить эту проблему, но это не сработало. Можете ли вы помочь мне правильно настроить вкладку?

Я использую JQuery 1.5.1

Вот HTML:

<body>   
  <div class="Livwidget">
  <div class="tab"></div>
   </div>
</body>

Вот CSS:

.Livwidget{
  background: #000;
  bottom: 0;
  left: 0;
  margin-left: 5%;
  margin-right: 5%;
  padding-top: 3px;
  position: fixed;
  width: 90%;
 }


 .tab{
  background: #000;
  height: 30px;
  margin-left: 0;
  margin-top: -30px;
  width: 135px;
 }

Вот JS:

<script> 
    $(document).ready(function(){
        $(".Livwidget").hover(makeTall,makeShort);
    }); // close document.ready

    function makeTall(){  $(this).animate({"height":250},350);}
    function makeShort(){ $(this).animate({"height":5},350);}
</script>

Любая помощь будет принята с благодарностью. Я часами играл, пытаясь это исправить, и, похоже, не могу понять это.

Ответы [ 2 ]

1 голос
/ 09 июня 2011

Добавьте параметр if / else для переменной с именем var activeAnimation, она должна быть объявлена ​​как 0 вне вашего скрипта, тогда разрешите анимацию, только если она 0, как только она начнет набор анимации activeAnimation = 1, затем в конце вашей анимации сделайте, чтобы обратный вызов включал функцию, чтобы сделать activeAnimation = 0

0 голосов
/ 09 июня 2011

Попробуйте это http://jsfiddle.net/Qsqrc/

...