Перейти к содержимому



Спойлер для DLE с запоминанием

#1 stoptest

stoptest
  • Неактивные
  • 7 сообщений
  • Репутация: 0
0

Отправлено 03 Ноябрь 2012 - 12:09

Нашел в сети спойлер, всё работает как надо но код слишком большой для одного спойлера. код нужно использовать на всех страницах (в main.tpl)
Может есть какие варианты по проще. Главное чтоб было запоминание в куках после перезагрузки страницы.

<a href=" id="tit1" > Название </a>
	 <div style="display:none;" id="con1">
	
Содержимое
	
</div>
<script>
if(getCookie('con1on')) {
$('#con1').slideDown(500);
$('#tit1').toggle(function() {
eraseCookie('con1on');
$('#con1').slideUp(500);
}, function() {
setCookie('con1on', 1, 365);
$('#con1').slideDown(500);
});
} else {
$('#tit1').toggle(function() {
$('#con1').slideDown(500);
setCookie('con1on', 1, 365);
}, function() {
$('#con1').slideUp(500);
eraseCookie('con1on');
});
}</script>

И JS

function setCookie(name, value, days) {
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "; expires=" + date.toGMTString();
}
else var expires = ";
document.cookie = name + "=" + value + expires + "; path=/";
}
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
function eraseCookie(name) {
setCookie(name, "", -1);
};

 

 

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Рывки SlideDown
  2. Не работает тег spoiler в DLE
  3. Проблема со спойлером на дле 9.3
  4. Астраханский портал / CMS DLE V10.0
  5. Проблема со спойлером DLE 9.4


Оформление форума – IPBSkins.ru