Другой в JavaScript:
(function() { arguments.callee() })()
Отключение в CSS - это нормально, но тогда пользователи без JS никогда не увидят их.
Чтобы отключить только для пользователей с JS, отметьте тело и соответствующий CSS:
<body>
<script type="text/javascript">
document.body.className += " js";
</script>
CSS:
.js #gall2, .js #gall3, .js #gall4 { display: none; }
В качестве альтернативы ответу orip вы можете сделать следующее, если вам не нравится добавлять скрипты в
:
<html>
<head>
<script src="jquery.js"></script>
<script>
$('html').addClass('js');
$(function() {
// do DOM ready stuff
});
</script>
<style>
.js #gall2, .js #gall3, .js #gall4 { display: none; }
</style>
</head>
Вы избежите мерцания этого так как вы добавляете имя класса в HTML перед DOM готов.
Да, это, безусловно, допустимо сделать в вашем CSS
Другие респонденты правы. Делать вещи видимыми только с помощью JS - не лучшая практика. Думаю, я просто думал технически: изменение CSS таким образом решит проблему.
Всегда пытайтесь представить, что увидят пользователи, у которых отключен JS. Если вы используете решение CSS, для них не будут отображаться не первые DIV, но если вы измените слайды программно, они, очевидно, будут видеть только первый. Лучше всего дать им вариант «Нет JS». Затем, если вы можете быть уверены, что у пользователя включен JS, вы можете скрыть блоки div с помощью CSS и показать их с помощью JS.
Они отображаются, потому что по умолчанию блоки div, вероятно, будут отображаться. Поскольку запуск события «ready» на странице может занять несколько секунд, вызовы метода .hide () не сработают, пока все на странице не будет загружено и готово.
Если я правильно помню, то. Метод hide () просто установит атрибут «display» элемента в «none». Таким образом, по умолчанию настройка div на скрытие через CSS позволяет всегда скрывать их, и вы получаете дополнительный бонус в виде того, что пользователи JS не видят их.