|
|
|
|
|
для: DELUX
(14.02.2011 в 12:19)
| | Попробуйте в других браузерах. | |
|
|
|
|
|
|
|
для: Саня
(14.02.2011 в 11:39)
| | Я попробовал этот код,нажал "Показать блок" обновил страницу,и блок был скрит...код не работает(( | |
|
|
|
|
|
|
|
для: sim5
(14.02.2011 в 12:00)
| | Вы, видимо, пропустили мою фразу "Можно всё сделать чисто на JS."
Чисто на JS == не привлекая РНР (или любые другие серверные приложения) к этому делу.
Можно конечно изначально устанавливать всем блокам скрытый стиль и потом по js их открывать. Но это решение фэйлится для пользователей с отключённым/блокированным js. Или для мобильных браузеров, которые не поддерживают js в полной мере. | |
|
|
|
|
|
|
|
для: Саня
(14.02.2011 в 11:49)
| | Ну так вот все и решение:
if ( !empty($_COOKIE['block-hide']) && $_COOKIE['block-hide'] == '1' ) {
print 'style="display:none"';
}
| , если скрытый, это стиль по умолчанию, а уж проверить на клиенте условие и изменить его.... | |
|
|
|
|
|
|
|
для: sim5
(14.02.2011 в 11:47)
| | > Это смотря как подойти к этому вопросу.
Вот именно, что нужно отдельно подходить к этому вопросу. Например изначально задавать блокам стиль, уводящий блок за пределы рабочей области браузера. А потом на js либо передвигать его на своё место, либо не трогать. Вариантов масса, но все они требуют отдельной проработки. | |
|
|
|
|
|
|
|
для: Саня
(14.02.2011 в 11:43)
| | Это смотря как подойти к этому вопросу. Просто делал нечто, в чем можно было указать отображение или нет блоков в неком блоке, сделано было на JS, и проблем не было, потому и спросил. | |
|
|
|
|
|
|
|
для: sim5
(14.02.2011 в 06:29)
| | >>Но прийдётся сильно заморочиться для защиты от мигания блоков.
>И какие могут быть заморочки, да и почему должно мигать?
Если писать чисто на js, то в верстке будут выводиться блоки изначально видимые. Скрипт, скрывающий нужные блоки, загрузится чуть позже. Поэтому пользователи сначала увидят все блоки, которые через короткий промежуток времени скроются по js-скрипту.
Я удивлён, что мне приходится объяснять это вам. | |
|
|
|
|
|
|
|
для: sim5
(14.02.2011 в 10:32)
| | Кому интересно что вы в данный момент можете или не можете? | |
|
|
|
|
|
|
|
для: DELUX
(14.02.2011 в 05:11)
| |
<div id="block" <?
if ( !empty($_COOKIE['block-hide']) && $_COOKIE['block-hide'] == '1' ) {
print 'style="display:none"';
}
?>>
блок, который нужно скрыть
</div>
<input type="button" value="скрыть блок" onclick="hide()">
<input type="button" value="показать блок" onclick="show()">
<script>
function show() {
var block = document.getElementById('block');
block.style.display = '';
document.cookie = 'block-hide=0';
}
function hide() {
var block = document.getElementById('block');
block.style.display = 'none';
document.cookie = 'block-hide=1';
}
</script>
|
Вот вам код, который иллюстрирует всю систему в действии. Написано без jquery. Этот код нужно тестировать в отдельном скрипте. Просто поймите как он работает.
> P.S почему именно "r-colonka-hide" ведь везде пишется "r-colonka" или так и должно быть?
Потому что cookie задаётся с именем "r-colonka-hide". "r-colonka" — это идентификатор вашего блока и к cookies он не имеет какого-либо отношения. Можете устанавливать куки с точным id блока. От этого ничего не изменится. | |
|
|
|
|
|
|
|
для: DELUX
(14.02.2011 в 10:28)
| | Тогда с этим вопрос в раздел HTML, там помогут, к РНР это отношения не имеет. А я в данный момент не могу, просто сейчас нет времени вникать в ваши стили, чего вы там хотите, и писать код какой-то. | |
|
|
|
|