Сайты - по стандартам, но не стандартные сайты!
Пытаюсь выполнить условие- если высота элемента более Npx, то показываем элементы A и B. Делаю так:
html:
js:
$(document).ready(function() { $('#someDiv').height() >600 ? $('#show_one').show() : ('#show_two').show(); });
Вроде как в синтаксисе ошибок нет, но отрабатывает только второй элемент $('#show_two').show();
В чем подвох?
Нет на форуме
Отправляюсь курить маны по js, помогли тут
Рабочее решение:
if ( 600
Нет на форуме
$(document).ready(…) не гарантирует загрузку CSS, поэтому такие действия нужно выполнять по window.onload.
Нет на форуме
Вот эта конструкция $('#someDiv').height() >600 ? $('#show_one').show() : ('#show_two').show();
работает следующим образом:
Если выполнено условие (высота больше 600) то выполняется первое выражение после знака вопроса, иначе второе выражение после двоеточия.
Тоесть как раз проблема в синтаксисе
Можно было бы и так написать:
$(document).ready(function() {
if ($('#someDiv').height() >600) {
$('#show_one').show();
$('#show_two').show();
}
});
ну или так:
$(document).ready(function() {
if ($('#someDiv').height() >600)
$('#show_one, #show_two').show();
});
Отредактированно vit1972 (21.06.2014 10:12)
Нет на форуме
$(document).ready(function() {
if ($('#someDiv').height() >600) {
$('#show_one').show();
$('#show_two').show();
Нет на форуме