Страница 1 из 2

Сворачивающийся блок с запоминанием в куках phpbb3

Добавлено: 27 сен 2012, 19:33
DeaDRoMeO
Вообщем то, давненько искал скрипт сворачивающегося, одноразового блока. Почему одноразового ?? Да потому что его назначение - уведомление о какой -либо информации. Пользователь прочитал и по своему усмотрению закрыл этот блок. Закрытие запоминается в куках браузера и блок не отображается до тех пор, пока пользователь не очистит cookies в своем браузере.
Общее подключение, общий случай

Рассмотрим вообщем подключение данного блока и все его тонкости. Сперва скачиваем архив с нужными скриптами
Desktop2.rar
Сворачивающийся блок с запоминанием в куках phpbb3
(29.56 КБ) 144 скачивания
2 файлика из архива кидаем в корень форума. Чтобы подключить эти скрипты нужно открыть файл overall_header.html вашего стиля и найти Вставить перед найденным

Код: Выделить всё

<script type="text/javascript" src="/jQuery.js"></script>
<script type="text/javascript" src="/jquery.cookie.js"></script>
Если jQuery уже подключен у вас (иногда моды такого требуют), то вставляем только эту строку

Код: Выделить всё

<script type="text/javascript" src="/jquery.cookie.js"></script>
Далее перед все тем же Добавляем код

Код: Выделить всё

<script type="text/JavaScript">
  $(document).ready(function (){
  var box1 = $.cookie('box1')
  if(box1 =='none'){
  $('#box1').remove();
  }
  $('#boxs1').click(function() {
  $('#box1').slideUp(1000);
  $.cookie('box1', 'none', { expires: 365});
  });
  });
  </script>

Код: Выделить всё

<script type="text/JavaScript">
  $(document).ready(function (){
  var box1 = $.cookie('box1')//Получаем значение куки
  if(box1 =='none'){//Делаем проверку
  $('#box1').remove();//И закрываем блок если куки есть
  }
  $('#boxs1').click(function() {//При клике на id кнопки закрытия
  $('#box1').slideUp(1000);//Закрываем сам id блока
  $.cookie('box1', 'none', { expires: 365});//И создаём куку
  });
  });
  </script>
Подключение завершено, теперь нам надо создать сам блок и присвоить ему нужные айди для срабатывания скрипта. В том месте, где хотим видеть блок добавляем код

Код: Выделить всё

<div  id="box1">
<div  id="boxs1">x</div>
Содержимое блока
</div>
Где - id="box1" - айди самого блока, граница скрытия так сказать
id="boxs1" - айди кнопки скрытия, присваиваем его тому элементу, по нажатию на который блок скроется
Оформлять блок можно как угодно, лишь только правильно присвойте айди нужным тегам.
Простенький пример

На примере покажу как я подключал у себя этот блок, использую я его для предупреждения посетителей, блок находится под шапкой форума, можете протестировать. Вообщем подключаем блок по инструкциям выше, потом создаем блок под шапкой, открываем overall_header.html и в самый конец файла ставим такую конструкцию (инструкция больше подходит к сабсильверу, но это только для примера, даже с пояснениями по HTML коду)

html code

<div id="box1"> /// Начальная граница блока с присвоенным айди
<table width="100%" class="tablebg" cellspacing="0"> /// Создаем таблицу
<tr> /// Создаем строку
<td width="100px" class="row1">/// Создаем ячейку с картинкой 16+
<img src="/16plus.png" alt="16+" />/// Сама картинка 16+
</td> /// Закрываем ячейку
<td align="center" class="row1">/// Создаем ячейку с самим текстом предупреждения
<big>Уважаемые посетители нашего Форума !!! 
В связи с принятием закона <strong>№ 89417-6 "О защите детей от информации, 
причиняющей вред их здоровью и развитию"</strong> 
информируем вас о том, что Форум может содержать материалы и информацию, 
не рекомендованную к просмотру лицам, не достигшим 16 лет. 
Нажимая кнопку <strong>Да, мне есть 16 лет</strong> вы подтверждаете факт
 достижения этого возраста, в противном случае незамедлительно покиньте данный ресурс !!!</big>		
</td> /// Закрываем ячейку
</tr> /// Закрываем строку
<tr> /// Создаем строку для вопроса
<td class="row1" colspan="2"> /// Создаем ячейку для вопроса
<strong><big>Достигли ли вы указанного возраста ???</big></strong> /// Ставим вопрос
</td>/// Закрываем ячейку
</tr> /// Закрываем строку
<tr> /// Создаем строку для кнопок
<td class="row1" > /// Создаем ячейку для первой кнопки, при нажатии на которую скроется блок
<a id="boxs1"  href="#">Да, мне есть 16 лет</a> /// Создаем простую текстовую кнопку и присваиваем ей айди закрытия
</td>/// Закрываем ячейку
<td class="row1"> /// Создаем ячейку для второй кнопки, при нажатии на которую пользователя унесет на статью в Википедии
<a  href="http://ru.wikipedia.org/wiki/Законопроект_№_89417-6" >Нет, мне не исполнилось еще 16 лет</a> /// Создаем простую текстовую 
кнопку с отсылом на Википедию
</td>/// Закрываем ячейку
</tr>/// Закрываем строку
</table>/// Закрываем таблицу
<br style="clear: both;" /> /// Создаем пустой отступ от нижней границы блока
</div> // Конечная граница блока
Собственно ничего сложного в этом нет, успехов :ya_hoo_oo:

Сворачивающийся блок с запоминанием в куках phpbb3

Добавлено: 28 сен 2012, 06:22
Lorem Ipsum
А под что ещё можно использовать такой блок? Это я себе на заметку, врядли буду ставить уведомление о возрасте.

Сворачивающийся блок с запоминанием в куках phpbb3

Добавлено: 28 сен 2012, 06:23
DeaDRoMeO
Под какое либо уведомление или опять таки любое предпреждение))

Сворачивающийся блок с запоминанием в куках phpbb3

Добавлено: 28 сен 2012, 06:27
Lorem Ipsum
А оно будет на всех страницах форума?
Можно сделать, чтобы такой блок был в определённых подфорумах?

Сворачивающийся блок с запоминанием в куках phpbb3

Добавлено: 28 сен 2012, 15:51
DeaDRoMeO
Lorem Ipsum писал(а):А оно будет на всех страницах форума?
Как сделаешь так и будет
Lorem Ipsum писал(а):Можно сделать, чтобы такой блок был в определённых подфорумах?
Смотри тему про условия в phpbb3

предупреждение о +16

Добавлено: 29 сен 2012, 15:09
hunterkomp
подскажите пожалуйста , как реализовать такую же панельку с текстом и кнопкой

Код: Выделить всё

Уважаемые посетители нашего Форума !!! В связи с принятием закона № 89417-6 "О защите детей от информации, причиняющей вред их здоровью и развитию" информируем вас о том, что Форум может содержать материалы и информацию, не рекомендованную к просмотру лицам, не достигшим 16 лет. Нажимая кнопку Да, мне есть 16 лет вы подтверждаете факт достижения этого возраста, в противном случае незамедлительно покиньте данный ресурс !!!
как у Вас на сайте, с учетом стиля subsilver2.
Спасибо.

предупреждение о +16

Добавлено: 29 сен 2012, 15:37
St_roy
Здесь, вроде

предупреждение о +16

Добавлено: 29 сен 2012, 15:44
hunterkomp
огромное спасибо!
(когда я научусь пользоваться поиском?...)

предупреждение о +16

Добавлено: 29 сен 2012, 15:51
St_roy
Не за что)

Сворачивающийся блок с запоминанием в куках phpbb3

Добавлено: 30 сен 2012, 13:11
hunterkomp
на этот раз вроде точно по инструкции...
но нет же, опять я где-то накосячил.

в общем выглядит вот так:

Кнопка "да мне 16 " - ни на что не реагирует, пичалька
файл overall_header

Код: Выделить всё

</script>
<script type="text/javascript" src="/jquery.cookie.js"></script
<script type="text/JavaScript">
$(document).ready(function (){
var box1 = $.cookie('box1')
if(box1 =='none'){
$('#box1').remove();
}
$('#boxs1').click(function() {
$('#box1').slideUp(1000);
$.cookie('box1', 'none', { expires: 365});
});
});
  </script>
</head>
<body class="{S_CONTENT_DIRECTION}">

<a name="top"></a>

<div id="wrapheader">

	<div id="logodesc">
		<table width="100%" cellspacing="0">
		<tr>
			<td><a href="{U_PORTAL}">{SITE_LOGO_IMG}</a></td>
			<td><a href="{U_PORTAL}"> </a></td>			
			<td width="150%" align="center"><h1>{SITENAME}</h1><span class="gen">{SITE_DESCRIPTION}</span></td>
			<td><a href="http://sevro.s07.radio-tochka.com/"><img src="http://sevro.ru/images/hunterimages/radio.gif" /></a></td>
		</tr>
		</table>
<div id="box1">
<table width="100%" class="tablebg" cellspacing="0">
<tr>
<td width="100px" class="row1">
<img src="/images/16plus.png" alt="16 " />
</td>
<td align="center" class="row1">
<big>
В связи с принятием закона <strong>№ 89417-6 "О защите детей от информации, 
причиняющей вред их здоровью и развитию"</strong> 
информируем вас о том, что Форум может содержать материалы и информацию, 
не рекомендованную к просмотру лицам, не достигшим 16 лет. 
Нажимая кнопку <strong>Да, мне есть 16 лет</strong> вы подтверждаете факт
 достижения этого возраста, в противном случае незамедлительно покиньте данный ресурс !!!</big>       
</td>
</tr>
<tr>
<td class="row1" colspan="2">
<strong><big>Достигли ли вы указанного возраста ???</big></strong>
</td>
</tr>
<tr>
<td class="row1" >
<a id="boxs1"  href="#">Да, мне есть 16 лет</a>
</td>
<td class="row1">
<a  href="http://ru.wikipedia.org/wiki/Законопроект_№_89417-6" >Нет, мне не исполнилось еще 16 лет</a>
</td>
</tr>
</table>
<br style="clear: both;" />
</div>
	</div>
так сказать "пугает", то что часть кода отсюда http://hello-vitebsk.ru/viewtopic.php?p=15272#p15272 отображается "черным" и соответственно не работает

Сворачивающийся блок с запоминанием в куках phpbb3

Добавлено: 30 сен 2012, 13:22
hunterkomp
блин... ну когда же начну смотреть внимательно то????... стыдно ...
нет чтобы нажимать "выделить все" и потом копировать, копирую выделением. и вот результат:

и О ЧУДО! Заработало)))
(п.с. notepad++ все таки сила!!! дает подсветку синтаксиса.)

Сворачивающийся блок с запоминанием в куках phpbb3

Добавлено: 30 сен 2012, 15:20
DeaDRoMeO
Хех, бывает и такое, ошибка перед глазами, но ее в упор не видишь, поздравляю с успешной установкой :co_ol:

Сворачивающийся блок с запоминанием в куках phpbb3

Добавлено: 28 окт 2016, 18:19
Mori
После скрытия блока при обновлении страницы, участок, что скрыт появляется на 1 сек и сразу исчезает.Как сделать так, что небыло вот этого 1сек-го появления?

Сворачивающийся блок с запоминанием в куках phpbb3

Добавлено: 17 фев 2017, 13:09
wwnet
Mori писал(а):После скрытия блока при обновлении страницы, участок, что скрыт появляется на 1 сек и сразу исчезает.Как сделать так, что небыло вот этого 1сек-го появления?
У меня та же проблемма.
И ещё одна. Как удалить белый квадрат, что-то с файлами джава не так....
Чтоб не смотреть на скрин, а "вживую" увидеть, даю ссылку на произвольный раздел. Белый квадрат справа, явно лишний http://tef.co.ua/viewforum.php?f=33

Сворачивающийся блок с запоминанием в куках phpbb3

Добавлено: 17 фев 2017, 13:53
DeaDRoMeO
$('#box1').slideUp(1000); - в кавычках 1000 уменьшите до нужного значения

Сворачивающийся блок с запоминанием в куках phpbb3

Добавлено: 17 фев 2017, 15:44
wwnet
DeaDRoMeO писал(а):$('#box1').slideUp(1000); - в кавычках 1000 уменьшите до нужного значения
Это в джава файлах? Там такого нет.

Сообщение добавлено... спустя 1 час 10 минут 47 секунд:
А, увидел, в подключении. Уменьшал до 1 и до 0. Не помогло.

Сообщение добавлено... спустя 14 минут 33 секунды:
Ничего не происходит, даже если закоментировать эту строку.

Сворачивающийся блок с запоминанием в куках phpbb3

Добавлено: 17 фев 2017, 16:11
DeaDRoMeO
А кеш браузера, форума и стиля чистился?

Сворачивающийся блок с запоминанием в куках phpbb3

Добавлено: 17 фев 2017, 16:15
wwnet
DeaDRoMeO писал(а):А кеш браузера,
Я им не пользуюсь в данном случае. Смотрю через Яндекс-метрику. Там каждое воспроизведение посещения происходит заново, без кеша.
DeaDRoMeO писал(а):форума и стиля чистился?
Да, чистился.

Сворачивающийся блок с запоминанием в куках phpbb3

Добавлено: 17 фев 2017, 19:02
DeaDRoMeO
Чтото в исходном коде вашего форума я не наблюдаю правок из этой темы

Сворачивающийся блок с запоминанием в куках phpbb3

Добавлено: 18 фев 2017, 02:31
wwnet
DeaDRoMeO писал(а):Чтото в исходном коде вашего форума я не наблюдаю правок из этой темы
Нету, потому что они не помогли. Сейчас снова исправил 1000 на 100. Бестолку.