2012-04-17 1 views
0

У меня есть div, который является CSS'ом для отображения: inline;jQuery поддержка отображения inline с div-шоу/скрыть

Однако, когда я использую jQuery show/hide, он меняет его на block/none.

Как я могу предотвратить это и поддерживать отображение встроенного, когда jQuery показывает это?

+1

Не можете ли вы '.css ('display', 'inline')' вместо 'show()'? –

+0

Возможно, вы можете использовать классы и переключаться с помощью jquery – Dhiraj

+0

@AymanSafadi, возможно, просто искал решение с помощью этого метода! – benhowdle89

ответ

0

Вы не можете afaik.

Но то, что вы просто можете сделать, это использовать

$('.your-element).css({'display':'inline'}); 

На месте .Show().

.hide() все еще можно использовать как обычно. Не могу придумать ничего умного прямо сейчас.

0

Согласно JQuery docs:

Если элемент имеет дисплей значение рядный, то скрыт и показано, он снова будет встроено.

Что-то еще происходит?

Демо: http://jsfiddle.net/jtbowden/JdJFJ/

Вот фрагмент кода из источника:

if (display !== "none" && !jQuery._data(elem, "olddisplay")) { 
    jQuery._data(elem, "olddisplay", display); 
} 

В основном, он сохраняет первоначальную display во внутренних данных, который восстановленными на show(). Подобный, но другой, код, который был полностью восстановлен в jQuery 1.0.

0

@ benhowdle89 Кажется, что это уже возможно с jQuery. Какую версию ты используешь?

+0

Не имеет значения, эта функциональность существовала в 1.0. –

+0

Спасибо за головы. – trickyzter

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