2013-05-22 2 views
0

Я пытаюсь оживить DIV, который скрыт по умолчанию наведите курсор мыши на заголовке сайта здесь является JQuery код, который в настоящее время не работает:дисплей: встроенный не работает с JQuery одушевленных()

$("#header_title").mouseenter(function() { 
     $('#header_links').animate({ 
      display: "inline", 
      width: "600px" 
      }, 1500); 
    }); 

    $("#header").mouseleave(function() { 
     $('#header_links').css({ 
      display: "none", 
      }, 1500); 
    }); 

Он отлично работает, когда я меняю анимацию на css, но я не хочу, чтобы меню просто появилось, я хочу, чтобы он оживился после того, как он был скрыт. Какие-либо предложения?

+0

Это может помочь - http://stackoverflow.com/questions/231937/animating-inline-elements-with-jquery – lifetimes

+0

'рядный block' не будет работать для вас? – PlantTheIdea

ответ

6

Вы забыли одушевить его до нулевой ширины, и вы не можете анимировать свойство отображения, это либо видно, либо нет, нет ничего, чтобы оживить между ними, поскольку это не числовое свойство?

$("#header_title").mouseenter(function() { 
    $('#header_links').css('display','inline').animate({ 
     opacity: 1, 
     width: 600 
    }, 1500); 
}); 

$("#header").mouseleave(function() { 
    $('#header_links').animate({ 
     opacity: 0, 
     width: 0 
    }, 1500, function() { 
     $(this).css('display','none'); 
    }); 
}); 
+0

На самом деле есть проблема с этим решением, ссылки по-прежнему доступны для клика ... поэтому мне нужно использовать свойство отображения и изменить его как-то до и после анимации ... – mpn

+0

@pwneth - вы всегда можете просто установите свойство отображения, но вы все еще не можете его оживить, отредактировав ответ. – adeneo

+0

отлично, это работает отлично! имеет смысл. – mpn

Смежные вопросы