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

Сервис обмена электронных валют

Партнерская программа Expressrxsales

Спойлер для 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. Не работает тег spoiler в DLE
  2. Проблема со спойлером на дле 9.3
  3. Проблема со спойлером DLE 9.4


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