У меня есть div внутри содержащего div (т.е. div «обертки»). Поля этого div-оболочки установлены автоматически, поэтому он центрируется на странице. Когда вы нажимаете кнопку, другой div внутри div-оболочки отображается с помощью функции jQuery slideDown. Однако, когда это происходит, div-оболочка смещается на пару пикселей влево и смещается назад, когда вы снова нажимаете кнопку, чтобы div исчезал с помощью функции слайда jQuery. Вот мой код, div.answer - это div внутри div-оболочки, который вы показываете/скрываете, нажимая кнопку
CSS:
#wrapper {
background: url(myimages/bground.jpg);
text-align: center;
margin: auto;
width:1020px;
border:0px solid red;
}
div.answer{
border: 0px solid #5c5c5c;
padding:3px;
margin-left: 29px;
margin-right: 29px;
display:none;
}
Javascript:
$('span.problemBullet').toggle(function(){
$('div.answer').slideDown();
$(this).html(' - ');
$(this).css('padding','0px 2px 0px 2px');
},
function(){
$('div.answer').slideUp();
$(this).html(' + ');
$(this).css('padding', '0px 0px 0px 0px');
}
);
«problemBullet» — это маленькая кнопка, которую я создал из элемента span
, по которой вы нажимаете, чтобы отображать и скрывать div.
Это отлично работает в Google Chrome и Safari.
Вы можете увидеть это в действии здесь: Нажмите на меня
overflow:hidden;
к скользящему объекту. Может стоит попробовать. - person romo   schedule 24.08.2012slidedown
иslideup
наshow
иhide
? - person ebohlman   schedule 24.08.2012show
иhide
, хотя немного сложнее сказать. - person MRichards   schedule 27.08.2012