Я хочу, чтобы изменить top
свойство объекта .content
если объект .nav-wrapper
обладает свойством display
установлен в block
.
Это мой фактический (не работает) код:
$(document).ready(function(){
$("#menu").click(function(){
$(".nav-wrapper").slideToggle("slow");
if($(".nav-wrapper").css("display") == "block"){
$(".content").css("top","340px");
}
else{
$(".content").css("top","105px");
}
});
});
Может кто-нибудь помочь мне разобраться, как это сделать?
Вам нужно проверить состояние после завершения анимации.
Кроме того, проверьте, видно ли это вместо display
свойств CSS
$(document).ready(function(){
$("#menu").click(function(){
$(".nav-wrapper").slideToggle("slow",function(){
if($(".nav-wrapper").is(':visible')){
$(".content").css("top","340px");
}
else{
$(".content").css("top","105px");
}
});
});
});
Следующий код сделает ваш код очень процедурным, но, с другой стороны, static
позиционирование по умолчанию не имеет свойства TOP
. поэтому вы должны проверить, имеет ли он какое-либо позиционирование, а не по default
.
Пытаться,
if($(".nav-wrapper").is(":visible"){
$(".content").css("top","340px");
}
else{
$(".content").css("top","105px");
}
position:relative
для родителя иposition:absolute
дляcontent