Перейти к контенту
  • 0

сворачиваемый логотип (меню)


Villen

Вопрос

Появилась идея сделать логотип и меню сворачиваемыми.

Делал по аналогии с разделами форума, добавил сслку java script:togglecategory

 

вообщем было:

	<div id=\"submenu1\">
		<div id=\"menu\">
			<div class=\"menu-m1\">
				<div class=\"counter\">{$data['counter']}</div>
				<div class=\"menu-l1\"></div>
				<div class=\"menu-r1\"></div>
			</div>
		</div>
</div>
<div id=\"submenu\">
	<!--ipb.leftlinks.start-->
		<div id=\"menu\">
			<div class=\"menu-m2\">
				<div id='submenu_left'>
	" . (($this->ipsclass->vars['home_url']) ? ("
		<a href=\"{$this->ipsclass->vars['home_url']}\">{$this->ipsclass->vars['home_name']}</a>
	") : ("")) . "
	" . (($this->ipsclass->vars['csite_on']) ? ("
		<a href=\"{$this->ipsclass->base_url}act=home\">{$this->ipsclass->vars['csite_title']}</a>
	") : ("")) . "
				<!--IBF.RULES-->
				</div>
				<!--ipb.leftlinks.end-->
				<!--ipb.rightlinks.start-->
				<div id='submenu_right'>
				<{MAINMENU}>
		" . (($component_links != "") ? ("{$component_links}	") : ("")) . "
				<!--ipb.rightlinks.end-->
				</div>
				<div class=\"menu-l2\"></div>
				<div class=\"menu-r2\">
				</div>
			</div>
		</div>
</div>

стало:

<div style=\"display:none\" id=\"fc_logobar\">
<div id=\"submenu\">
	<!--ipb.leftlinks.start-->
		<div id=\"menu\">
			<div class=\"menu-m\">
				<div id='submenu_left'>
	" . (($this->ipsclass->vars['home_url']) ? ("
		<a href=\"{$this->ipsclass->vars['home_url']}\">{$this->ipsclass->vars['home_name']}</a>
	") : ("")) . "
	" . (($this->ipsclass->vars['csite_on']) ? ("
		<a href=\"{$this->ipsclass->base_url}act=home\">{$this->ipsclass->vars['csite_title']}</a>
	") : ("")) . "
				<!--IBF.RULES-->
				</div>
				<!--ipb.leftlinks.end-->
				<!--ipb.rightlinks.start-->
				<div id='submenu_right'>
	<a href=\"java script:togglecategory('logobar', 0);\" 
	onmouseover=\"document.imglogobar_0.src='style_images/eclipse/exp_plus_hover.png'\"
	onmouseout=\"document.imglogobar_0.src='style_images/eclipse/exp_plus.png'\">
	<img src='style_images/eclipse/exp_plus.png' name='imglogobar_0' border='0' alt='Expand' /></a>
				<{MAINMENU}>
		" . (($component_links != "") ? ("{$component_links}	") : ("")) . "
				<!--ipb.rightlinks.end-->
				</div>
				<div class=\"menu-l\"></div>
				<div class=\"menu-r\"></div>
			</div>
		</div>
</div>
</div>
<div style=\"display:\" id=\"fo_logobar\">
<div id=\"submenu1\">
		<div id=\"menu\">
			<div class=\"menu-m1\">
				<div class=\"counter\">{$data['counter']}</div>
				<div class=\"menu-l1\"></div>
				<div class=\"menu-r1\"></div>
			</div>
		</div>
</div>
<div id=\"submenu\">
	<!--ipb.leftlinks.start-->
		<div id=\"menu\">
			<div class=\"menu-m2\">
				<div id='submenu_left'>
	" . (($this->ipsclass->vars['home_url']) ? ("
		<a href=\"{$this->ipsclass->vars['home_url']}\">{$this->ipsclass->vars['home_name']}</a>
	") : ("")) . "
	" . (($this->ipsclass->vars['csite_on']) ? ("
		<a href=\"{$this->ipsclass->base_url}act=home\">{$this->ipsclass->vars['csite_title']}</a>
	") : ("")) . "
				<!--IBF.RULES-->
				</div>
				<!--ipb.leftlinks.end-->
				<!--ipb.rightlinks.start-->
				<div id='submenu_right'>
	<a href=\"java script:togglecategory('logobar', 1);\"
	onmouseover=\"document.imglogobar_1.src='style_images/eclipse/exp_minus_hover.png'\"
	onmouseout=\"document.imglogobar_1.src='style_images/eclipse/exp_minus.png'\">
	<img src='style_images/eclipse/exp_minus.png' name='imglogobar_1' border='0' alt='Expand' /></a>
				<{MAINMENU}>
		" . (($component_links != "") ? ("{$component_links}	") : ("")) . "
				<!--ipb.rightlinks.end-->
				</div>
				<div class=\"menu-l2\"></div>
				<div class=\"menu-r2\"></div>
			</div>
		</div>
</div>
</div>

 

все отлично сворачивается-разворачивается но почему то не сохраняется

при перезагрузке все возвращается как было

хотя в кукисах в переменную collapseprefs записывается новое значение

где я забыл еще что добавить?

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

http://forum.fandf.ru

 

сворачиваться будет flash баннер, вместо которого сейчас статичная картинка из "галактики".

кнопки +/- надо будет засунуть в другое место, что то не нравится мне как сейчас они выглядят, не очень эстетично.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
http://forum.fandf.ru

 

сворачиваться будет flash баннер, вместо которого сейчас статичная картинка из "галактики".

кнопки +/- надо будет засунуть в другое место, что то не нравится мне как сейчас они выглядят, не очень эстетично.

Лицензия зарегистрирована на: Клуб Фантастики и Фэнтези

?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Лицензия наличествуется?

 

А не сворачивается при перезагрузке потому, что у вас стили жёстко прописаны в шаблоне. Нужно в PHP проверять установленную куку и в зависимости от этого выводить display нужный нужному диву. Смотрите в boards.php как это для категорий сделано.

 

Кроме того, скины нужно через админку редактировать, а то в один прекрасный момент вы все изменения можете потерять.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Лицензия есть

это же видно по подписи "Лицензия зарегистрирована на: Клуб Фантастики и Фэнтези"

 

с куками разобрался, спасибо.

 

(а насчет кэшей - не потеряю, у меня бекапов на такой случай куча. А через админку неудобно - подсветки синтаксиса очень не хватает)

Ссылка на комментарий
Поделиться на других сайтах

  • 0

там нету ничего сверхестественного

используется макрос <{MAINMENU}> , применение можно увидеть в первом посте

а содержимое вот

<a href="#" onClick="return clickreturnvalue()" onMouseover="dropdownmenu(this, event, menu1, '110px')" onMouseout="delayhidemenu()">Главное меню <img src="style_images/<#IMG_DIR#>/menu_arrow.png" /> </a>

 

javaскрипты описаны в макросе <{MENU}>

<script type="text/javascript">
/***********************************************
* AnyLink Drop Down Menu- © Dynamic Drive (www.dynamicdrive.com)
* IPB Integration and Support @ XGhozt.com
***********************************************/

var menu1=new Array()
menu1[0]='<div class="subtitle2">IPB Ссылки</div>'
menu1[1]='<a href="index.php?act=Search">Поиск</a>'
menu1[2]='<a href="index.php?act=Members">Пользователи</a>'
menu1[3]='<a href="index.php?act=Help">Помощь</a>'
menu1[4]='<a href="index.php?act=calendar">Календарь</a>'

var menuwidth='120px'
var menubgcolor='#E5E6FF'
var disappeardelay=850
var hidemenu_onclick="yes"

/////No further editting needed

var ie4=document.all
var ns6=document.getElementById&&!document.all

if (ie4||ns6)
document.write('<div id="dropmenudiv" style="visibility:hidden;width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>')

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}


function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (menuwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
}
return edgeoffset
}

function populatemenu(what){
if (ie4||ns6)
dropmenuobj.innerHTML=what.join("")
}


function dropdownmenu(obj, e, menucontents, menuwidth){
if (window.event) event.cancelBubble=true
else if (e.stopPropagation) e.stopPropagation()
clearhidemenu()
dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
populatemenu(menucontents)

if (ie4||ns6){
showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
}

return clickreturnvalue()
}

function clickreturnvalue(){
if (ie4||ns6) return false
else return true
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function dynamichide(e){
if (ie4&&!dropmenuobj.contains(e.toElement))
delayhidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenu()
}

function hidemenu(e){
if (typeof dropmenuobj!="undefined"){
if (ie4||ns6)
dropmenuobj.style.visibility="hidden"
}
}

function delayhidemenu(){
if (ie4||ns6)
delayhide=setTimeout("hidemenu()",disappeardelay)
}

function clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}

if (hidemenu_onclick=="yes")
document.onclick=hidemenu
</script>

а где он вызывается я чесно пока не нашел

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.