Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#24 used as offset, casting to integer (24) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#27 used as offset, casting to integer (27) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Показать скрыть использование Cookie
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (3): [1] 2 3 »   

> Описание: mod show hide
Гусь
Отправлено: 06 Мая, 2006 - 14:29:01
Post Id



Newbie


Покинул форум
Сообщений всего: 46
Дата рег-ции: Май 2006  

Карма 0




Может кто то растолкует как это прописать в cookie, чтоб запоминал какой свёрнут а какой развернут.
Я вот об этом
CODE:

function Whos(id,idi) {
if (document.getElementById(id).style.display == "none"||document.all[id].visibility == "hidden"){
Show(id,idi)
}
else{Hide(id,idi)}
}
function Show(id,idi) {
if (document.getElementById) {
itm = document.getElementById(id);
itm.style.display = "block";
}
if (document.all){
itm = document.all[id];
itm.visibility = "show";
}
document[idi].src = "./templates/ForumTblock.org.ru/im/hide_f.gif";
}
function Hide(id,idi) {
if (document.getElementById) {
itm = document.getElementById(id);
itm.style.display = "none";
}
if (document.all){
itm = document.all[id];
itm.visibility = "hidden";
}
document[idi].src = "./templates/subsilver/im/show_f.gif";
}
 
 Top
Леголегс Администратор
Отправлено: 06 Мая, 2006 - 15:29:32
Post Id



JS-маньяк


Покинул форум
Сообщений всего: 2109
Дата рег-ции: Июль 2004  
Откуда: Липецк

Карма 17




Гусь
Ну сначала находишь готовые функции setcookie и getcookie (их полно даже на этом форуме не говоря про гугль) затем вставляешь их вызовы в хайд и шов (соответственно запоминая в куке 1 или 0)
При открытии страницы делаешь getcookie и в зависимости от результата делаешь аналогично Whos
 
 Top
Гусь
Отправлено: 07 Мая, 2006 - 12:53:29
Post Id



Newbie


Покинул форум
Сообщений всего: 46
Дата рег-ции: Май 2006  

Карма 0




Леголегс я в этих ява делах полный профан. Будь другом растолкуй поконкретней что и куда пристраевать.
 
 Top
Леголегс Администратор
Отправлено: 07 Мая, 2006 - 16:04:23
Post Id



JS-маньяк


Покинул форум
Сообщений всего: 2109
Дата рег-ции: Июль 2004  
Откуда: Липецк

Карма 17




Ладно... (что-то я сегодня подозрительно сговорчивый...)
Надо добавить
CODE:
function setCookie(name, value, lifedays) {
var expdate = new Date();
expdate.setTime(expdate.getTime() + (86400000 * lifedays));
var curCookie=name+"="+escape(value)+((lifedays)?"":";expires="+expdate.toGMTString());
document.cookie=curCookie;
}
function getCookie(name,def) {
var prefix = name + "=";
var cookieStartIndex = document.cookie.indexOf(prefix);
if (cookieStartIndex == -1)
return def;
var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
if (cookieEndIndex == -1)
cookieEndIndex = document.cookie.length;
return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}

После function Show(id,idi) { добавляешь
CODE:
setCookie(id+"_"+idi+"show","1",30);

После function Hide(id,idi) { добавляешь
CODE:
setCookie(id+"_"+idi+"show","0",30);

На твой вопрос я ответил, комп будет запоминатьчто свёрнуто, а то нет. Чтобы он ещё и вспоминал это надо ещё одну байду, но её я завтра напишу Улыбка Ты только отпиши сюда, а то если я тему в "новых сообщениях" не увижу, то забуду стопудов.
 
 Top
Гусь
Отправлено: 08 Мая, 2006 - 06:07:22
Post Id



Newbie


Покинул форум
Сообщений всего: 46
Дата рег-ции: Май 2006  

Карма 0




Леголегс
Спасибо дружище.
Отписал.Улыбка
 
 Top
Леголегс Администратор
Отправлено: 08 Мая, 2006 - 10:15:19
Post Id



JS-маньяк


Покинул форум
Сообщений всего: 2109
Дата рег-ции: Июль 2004  
Откуда: Липецк

Карма 17




Гусь
Значит так. function getCookie() {...} удаляешь. Вместо неё нужен такой
CODE:
function getAllCookies() {
var allcookies = new Array();
var cookregexp = /(?:; ?|^)([^=]+)(?:=([^;]*))?/g;
var st = document.cookie;
var cookie = cookregexp.exec(st);
while (cookie)
{
allcookies.push([cookie[1],cookie[2]]);
cookie = cookregexp.exec(st);
}
return allcookies;
}
function Restore()
{
var cookarr = getAllCookies();
for (var c in cookarr)
{
var match;
if (match=/(.+)_(.+)show/.exec(c[0]))
{
if (c[1]=="1")
Show(match[1],match[2]);
else
Hide(match[1],match[2]);
}
}
}
Вызов Restore() можно вставить в body onload=
 
 Top
Гусь
Отправлено: 08 Мая, 2006 - 11:34:56
Post Id



Newbie


Покинул форум
Сообщений всего: 46
Дата рег-ции: Май 2006  

Карма 0




Не робит

код теперь выглядит так, может что-то не так.
CODE:
//Cookie
function setCookie(name, value, lifedays) {
var expdate = new Date();
expdate.setTime(expdate.getTime() + (86400000 * lifedays));
var curCookie=name+"="+escape(value)+((lifedays)?"":";expires="+expdate.toGMTString());
document.cookie=curCookie;
}
function getAllCookies() {
var allcookies = new Array();
var cookregexp = /(?:; ?|^)([^=]+)(?:=([^;]*))?/g;
var st = document.cookie;
var cookie = cookregexp.exec(st);
while (cookie)
{
allcookies.push([cookie[1],cookie[2]]);
cookie = cookregexp.exec(st);
}
return allcookies;
}
function Restore()
{
var cookarr = getAllCookies();
for (var c in cookarr)
{
var match;
if (match=/(.+)_(.+)show/.exec(c[0]))
{
if (c[1]=="1")
Show(match[1],match[2]);
else
Hide(match[1],match[2]);
}
}
}
//End cookie

function Whos(id,idi) {
if (document.getElementById(id).style.display == "none"||document.all[id].visibility == "hidden"){
Show(id,idi)
}
else{Hide(id,idi)}
}
function Show(id,idi) {
//Cookie
setCookie(id+"_"+idi+"show","1",30);
// End Cookie
if (document.getElementById) {
itm = document.getElementById(id);
itm.style.display = "block";
}
if (document.all){
itm = document.all[id];
itm.visibility = "show";
}
document[idi].src = "./templates/ForumTblock.org.ru/im/hide_f.gif";
}
function Hide(id,idi) {
//Cookie
setCookie(id+"_"+idi+"show","0",30);
// end cookie
if (document.getElementById) {
itm = document.getElementById(id);
itm.style.display = "none";
}
if (document.all){
itm = document.all[id];
itm.visibility = "hidden";
}
document[idi].src = "./templates/ForumTblock.org.ru/im/show_f.gif";
}
 
 Top
Леголегс Администратор
Отправлено: 08 Мая, 2006 - 11:41:46
Post Id



JS-маньяк


Покинул форум
Сообщений всего: 2109
Дата рег-ции: Июль 2004  
Откуда: Липецк

Карма 17




Гусь
Что значит "не робит"? Ошибки выдаёт или молчит? если ошибки, то давай текст сюда, если молчит то
а) body onload="Restore()" не забыл?
б) ссылку в студию
 
 Top
Гусь
Отправлено: 08 Мая, 2006 - 12:24:09
Post Id



Newbie


Покинул форум
Сообщений всего: 46
Дата рег-ции: Май 2006  

Карма 0




Ссылки нет потому как форум стоит в локалке.

Ошибок не выдаёт.

body onload="Restore()" прописал.

Шаблон можеш скачать тут
http://rapidshare.de/files/19949....org.ru.rar.html 247килобайт
 
 Top
Леголегс Администратор
Отправлено: 08 Мая, 2006 - 15:10:39
Post Id



JS-маньяк


Покинул форум
Сообщений всего: 2109
Дата рег-ции: Июль 2004  
Откуда: Липецк

Карма 17




Гусь
Не надо мне пожалуйста всякого не пойми чего в четверть метра. Прикрепи просто html код страницы к сообщению.
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 3 (гостей: 3, зарегистрированных: 0, скрытых: 0)
« Моды, хаки, скины и дополнения »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0341]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33