2013-07-13 2 views
1

я определяю шаблон следующим образом:дисплея ДИВЫХ рядный скрытый

$.template('aTemplate', 
    '<div id="someid" class="abc">' + 
    .... 
    '</div>' 
); 

Я хочу это Див быть рядным с другими элементами (там, где я размещаю их). Я также хочу, чтобы этот div был скрыт (когда я добавляю его в DOM), а затем стал видимым в некоторых других действиях (щелчок пользователя).

Итак, чтобы сделать это рядный и скрытый, я определяю следующие CSS

.abc { 
    display: inline-block; 
    visibility: hidden; 
} 

и на какое-то действие, у меня есть

$('#someid').show() 

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

+0

Try '$ ('# someid') .css ('visibility', 'visible') ' – elclanrs

ответ

0

Ваша проблема $.show() установит display:inline-block

Из документов:
http://api.jquery.com/show/
совпавшие элементы будут выявлены сразу, без анимации. Это примерно эквивалентно вызову .css ('display', 'block'), за исключением того, что свойство отображения восстанавливается до того, что было изначально. Если элемент имеет отображаемое значение inline, то он скрыт и отображается, он снова будет отображаться в строке.

Если вы хотите, DIV, чтобы сохранить это положение в DOM, попробуйте установить его непрозрачность на 0, чтобы начать:

.abc { 
    display: inline-block; 
    opacity: 0; 
} 

Тогда звоните:

$('#someid').css('opacity','1'); 
+0

Это вроде работает. Проблема заключается в том, что мой div также содержит некоторые кнопки. Просто установите непрозрачность на 0, не убедитесь, что если кто-то нажимает на эту область, кнопка нажимает не запускать, поэтому мне нужно отключить и скрыть – kk1957

+0

Я бы не использовал непрозрачность, чтобы показать и скрыть что-то. Клики будут регистрироваться, а не удобны для пользователя, не делают этого. –

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