Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.10.2009, 17:43
Новичок на форуме
Отправить личное сообщение для saider Посмотреть профиль Найти все сообщения от saider
 
Регистрация: 20.10.2009
Сообщений: 6

Нужна срочно помощ по открытию/закрытию Разделов
У меня вот такая проблема, я взял javasсript код и немного еще изменил, ну так у меня проблема вот в чем, мне нужно что бы текст при нажатии на ник "SaIdEr" открывался и если пользователь его не закрывает то сохранял это меню в открытом состоянии или же в закрытом, это надо делать на кукесах, я этопонял, вот только как их соеденить с открытием/закрытием разделов:
<SCRIPT LANGUAGE="JavaScript"> 
//создание кукесов 
function setCookie (name, value, expires, path, domain, secure) { 
document.cookie = name + "=" + escape(value) + 
((expires) ? "; expires=" + expires : "") + 
((path) ? "; path=" + path : "") + 
((domain) ? "; domain=" + domain : "") + 
((secure) ? "; secure" : ""); 
} 

//вывод содержимого кукесов 
function getCookie(name) { 
var cookie = " " + document.cookie; 
var search = " " + name + "="; 
var setStr = null; 
var offset = 0; 
var end = 0; 
if (cookie.length > 0) { 
offset = cookie.indexOf(search); 
if (offset != -1) { 
offset += search.length; 
end = cookie.indexOf(";", offset) 
if (end == -1) { 
end = cookie.length; 
} 
setStr = unescape(cookie.substring(offset, end)); 
} 
} 
return(setStr); 
}  
// что записывать в кукесы     setCookie("foo", "sdsdfsdfsdf", "", "/"); 
// вывод записи кукесов        document.write(getCookie("foo")); 

//открыть/закрыть меню 
function menu(id){ 
if (document.getElementById){itm = document.getElementById(id);} 

if (itm = itm){ 
if (itm.style.display=="none"){ 
itm.style.display = ""; 
} 
else{ 
itm.style.display = "none"; 
} 
} 

} 

</SCRIPT>  
<a href="#" onclick="menu('1'); return false;"><b>SaIdEr</b></a> 
<div id="1">fsdfsdf</div>
Ответить с цитированием
  #2 (permalink)  
Старый 20.10.2009, 21:20
Новичок на форуме
Отправить личное сообщение для saider Посмотреть профиль Найти все сообщения от saider
 
Регистрация: 20.10.2009
Сообщений: 6

Осталась одна проблемка, помогите
Все, я разобрался с этим JavaScript(ом) вот что у меня получилось:
<SCRIPT LANGUAGE="JavaScript">
function setCookie (name, value, expires, path, domain, secure) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function getCookie(name) {
    if(window.widget) return decodeURIComponent(widget.preferenceForKey(name))||null;
    if(new RegExp(name+'\=([^;]*);','').test(document.cookie+';') ) return decodeURIComponent(RegExp.$1);
    return null;
}

function my_getbyid(id){
itm=null;
if(document.getElementById){
itm=document.getElementById(id)
}
else if(document.all){
itm=document.all[id]
}
else if(document.layers){
itm=document.layers[id]
}
return itm
}

function my_hide_div(itm){
if(!itm)return;
itm.style.display="none"
}

function my_show_div(itm){
if(!itm)return;
itm.style.display="";
}

function togglecategory(fid,add){
saved=new Array();
clean=new Array();
if(tmp=getCookie("cms_mpn")){
saved=tmp.split(",");
}
for(i=0;i<saved.length;i++){
if(saved[i]!=fid&&saved[i]!=""){
clean[clean.length]=saved[i];
}
}
if(add){
clean[clean.length]=fid;
my_show_div(my_getbyid('fc_'+fid));
my_hide_div(my_getbyid('fo_'+fid));
}
else{
my_show_div(my_getbyid('fo_'+fid));
my_hide_div(my_getbyid('fc_'+fid));
}
setCookie("cms_mpn",clean.join(','),'','/','','');
}
</SCRIPT>



<?php
$fc_syle=array();
$fo_syle=array();
$cookie_fc=explode(",", $_COOKIE['cms_mpn']);
while (list ($key, $val) = each($cookie_fc)) {
if($val=="0") {$fc_syle[$val]="";$fo_syle[$val]="style=\"display: none;\"";}
elseif($val=="1") {$fc_syle[$val]="";$fo_syle[$val]="style=\"display: none;\"";}
elseif($val=="2") {$fc_syle[$val]="";$fo_syle[$val]="style=\"display: none;\"";}
else{
$fc_syle[0]="style=\"display: none;\"";$fo_syle[0]="";
$fc_syle[1]="style=\"display: none;\"";$fo_syle[1]="";
$fc_syle[2]="style=\"display: none;\"";$fo_syle[2]="";
}

}

echo <<<EOF
<DIV {$fc_syle[0]} id=fc_0>
<DIV><A href="javascript:togglecategory('0', 0);">Добро пожаловать на наш SEO форум</a></DIV>
</DIV>
<DIV {$fo_syle[0]} id=fo_0>
<DIV><A href="javascript:togglecategory('0', 1);">Добро пожаловать на наш SEO форум</a></DIV>
1
</DIV>
<br>
<DIV {$fc_syle[1]} id=fc_1>
<DIV><A href="javascript:togglecategory('1', 0);">Добро пожаловать на наш SEO форум</a></DIV>
</DIV>
<DIV {$fo_syle[1]} id=fo_1>
<DIV><A href="javascript:togglecategory('1', 1);">Добро пожаловать на наш SEO форум</a></DIV>
1
</DIV>
<br>
<DIV {$fc_syle[2]} id=fc_2>
<DIV><A href="javascript:togglecategory('2', 0);">Добро пожаловать на наш SEO форум</a></DIV>
</DIV>
<DIV {$fo_syle[2]} id=fo_2>
<DIV><A href="javascript:togglecategory('2', 1);">Добро пожаловать на наш SEO форум</a></DIV>
1
</DIV>
EOF;
?>

вот осталась еще одна проблемка, как бы по продуманнее бы сделать php скриптик, что бы он сам прописывал стили. На данный момент он обробатывет так:
$fc_syle=array();
$fo_syle=array();
$cookie_fc=explode(",", $_COOKIE['cms_mpn']);
while (list ($key, $val) = each($cookie_fc)) {
if($val=="0") {$fc_syle[$val]="";$fo_syle[$val]="style=\"display: none;\"";}
elseif($val=="1") {$fc_syle[$val]="";$fo_syle[$val]="style=\"display: none;\"";}
elseif($val=="2") {$fc_syle[$val]="";$fo_syle[$val]="style=\"display: none;\"";}
else{
$fc_syle[0]="style=\"display: none;\"";$fo_syle[0]="";
$fc_syle[1]="style=\"display: none;\"";$fo_syle[1]="";
$fc_syle[2]="style=\"display: none;\"";$fo_syle[2]="";
}

}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
НУжна помощ ! Jumong Общие вопросы Javascript 4 01.10.2008 23:17
НУжна помощ ! Jumong Общие вопросы Javascript 12 17.09.2008 08:52
Срочно нужна помощь Гость Общие вопросы Javascript 2 02.09.2008 14:13