ForumD.ru - Дизайн, графика, скрипты, техническая поддержка для форумов и сайтов

Объявление

GEMcross

Кроссовер, ориентированный на активную игру и уютный флуд.
Собираем у себя драгоценных игроков уже почти три года.

Посетить

💰 Теперь у нас можно приобрести "Мгновенные уведомления от Алекса"

Скрипт оповещает пользователей о событиях на форуме в реальном времени, придавая динамики общению.
Автор: Alex_63 | Платформа: MyBB.ru.

У нас: структурированная документация, возможность платить иностранными картами, перевыпустить подписку или купить бессрочно.

Купить скрипт

🔥 Новинка в портфолио: ДИЗАЙН ФОРУМА В СТИЛЕ ФЭНТЭЗИ С ПРОЗРАЧНОСТЬЮ

Платформа: MyBB.ru (RusFF)
Стоимость: 8000 рублей;
Авторы: Moju & Gerda

Посмотреть

🌟 ОПЛАТА ЗАКАЗА НАГРАДНЫМИ БАЛЛАМИ И СКИДКИ

Заказы можно оплачивать наградными баллами (НБ). Полностью или частично.
Бартер за НБ осуществляется на условиях платного заказа, в качестве оплаты - НБ.
А если у вас есть любой платный заказ, вы можете обменять НБ на скидочные купоны.

узнать подробности

📣 Наш проект: Ролевой поисковик

Поиск роли на текстовых ролевых
Проект от специалистов FD

Спойлеры и обсуждение

❤️ Поддержать проект

Если у вас есть желание помочь нам сделать наш проект лучше:
Реклама на сайтеПредложения
Стать модераторомОтзывы

Подробнее

SPECIAL OFFER: We distribute designs for free

Finalizing the layout for your project;
Developing a style code;
Mobile version included if you wish.

Details

Support the project

If you want to help us:
Become a moderator
SuggestionsReviews

Details
❗ ❗ ❗ Technical work is underway. We'll fix it soon. :) If you're english-speaker and want to use our forum, switch to the russian language. This is temporary, until the works with multi-language option will be done. Sorry for the inconvenience.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Выпадающее главное меню. v3 (MyBB)

Сообщений 1 страница 10 из 24

1

Выпадающее главное меню. v3 (с) Romych

Скриншот
https://forumupload.ru/uploads/0007/e3/f7/60096-1.jpg

меню доработано:
исправлено одно серьёзное упущение (на главной странице не отображалось появление новых личных писем),
добавлен пункт - Платные услуги (для администратора)
пункты меню переписаны более грамотно,
как и прежде меню работает с jQuery

jQuery 1.4

Код:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>

в html-верх:

Код:
<style type="text/css">
	#pun-navlinks.section{
display: block;
position: relative;
                z-index: 1000;
left: 8em;
                opacity: 0.9;  
                filter: alpha(opacity=90); 
                    	}
	#pun-navlinks.section ul.container {
margin: 0px;
border: 0px;
padding: 0px;
                      width: 980px; /*For KHTML*/
list-style: none;
height: 24px;
	}
	#pun-navlinks.section ul.container, #pun-navlinks.section ul.container * {z-index: 1000;}
	#pun-navlinks.section ul.container li {
margin: 0px 20px 0px 0px;
padding: 0px;
border: 0px;
float: left; /*For Gecko*/
display: inline;
list-style: none;
position: relative;
height: 24px;
	}

	#pun-navlinks.section ul.container ul {
margin: 0px;
border: 0px;
padding: 0px 0px 12px 0px;
width: 175px;
list-style: none;
display: none;
position: absolute;
top: 24px;
left: -5px;
background-image: url(http://www.acrobatusers.com/sites/all/themes/auc_v3/images/menu_bottom.gif);
background-repeat: no-repeat;
background-position: 0 bottom;
	}

	#pun-navlinks.section ul.container ul:after /*From IE 7 lack of compliance*/{
clear: both;
display: block;
font: 1px/0px serif;
content: ".";
height: 0;
visibility: hidden;
	}

	#pun-navlinks.section ul.container ul li {
width: 175px;
float: left; /*For IE 7 lack of compliance*/
display: block !important;
display: inline; /*For IE*/
	}

	/* Root Menu */
	#pun-navlinks.section ul.container a {
	-x-system-font:none;
	background-attachment:scroll;
	background-image:none;
	background-position:0 0;
	background-repeat:repeat;
	color: #000000;
	display:block;
	float:none !important;
	font-family:arial,Verdana,Helvetica,sans-serif;
	font-size:11px;
	font-size-adjust:none;
	font-stretch:normal;
	font-style:normal;
	font-variant:normal;
	font-weight:bold;
	height:auto !important;
	line-height:16px;
	padding:0 0 0 17px;
	text-decoration:none;
	text-transform:uppercase;
}

	/* Root Menu Hover Persistence */
	#pun-navlinks.section ul.container a:hover, #pun-navlinks.section ul.container li:hover a, #pun-navlinks.section ul.container li.iehover a {
color: #ffcc33;
background-image: none;
background-repeat: repeat;
background-attachment: scroll;
background-position: 0 0;
	}

	/* 2nd Menu */
	#pun-navlinks.section ul.container li:hover li a, #pun-navlinks.section ul.container li.iehover li a {
float: none;
bbackground: #bf2c2b;
color: #fff;
	}

	/* 2nd Menu Hover Persistence */
	#pun-navlinks.section ul.container li:hover li a:hover, #pun-navlinks.section ul.container li:hover li:hover a, #pun-navlinks.section ul.container li.iehover li a:hover, #pun-navlinks.section ul.container li.iehover li.iehover a {
background: #555555;
color: #ffcc33;
	}

	/* Do Not Move - Must Come Before display:block for Gecko */
	#pun-navlinks.section ul.container li:hover ul ul, #pun-navlinks.section ul.container li:hover ul ul ul, #pun-navlinks.section ul.container li.iehover ul ul, #pun-navlinks.section ul.container li.iehover ul ul ul {
	  display: none;
	}

	#pun-navlinks.section ul.container li:hover ul, #pun-navlinks.section ul.container ul li:hover ul, #pun-navlinks.section ul.container ul ul li:hover ul, #pun-navlinks.section ul.container li.iehover ul, #pun-navlinks.section ul.container ul li.iehover ul, #pun-navlinks.section ul.container ul ul li.iehover ul {
	  display: block;
	}
	#pun-break1, #pun-break2{display: none;}
	#pun-announcement,#pun-announcement *{z-index: 1;}
</style>

в html-низ:

Код:
<!--Выпадающее меню-->
<script type="text/javascript">
     jQuery(function() {
             if (GroupID==3) { 
                jQuery('.markid').parent().hide();
                jQuery('.nog').parent().hide();
             } else {
             jQuery('.markid').map(function(){
               jQuery(this).attr('href', jQuery(this).attr('href')+UserID );
             });
    
             }
     });

var arrowimages={down:['downarrowclass', 'https://forumupload.ru/uploads/000b/89/6b/16-1.gif', 23], right:['rightarrowclass', 'https://forumupload.ru/uploads/000b/89/6b/16-2.gif']}

var jqueryslidemenu={

animateduration: {over: 500, out: 200}, 

buildmenu:function(menuid, arrowsvar){
	jQuery(document).ready(function($){
var $mainmenu=$("#"+menuid+">ul")
var $headers=$mainmenu.find("ul").parent()
$headers.each(function(i){
	var $curobj=$(this)
	var $subul=$(this).find('ul:eq(0)')
	this._dimensions={w:this.offsetWidth, h:this.offsetHeight, subulw:$subul.outerWidth(), subulh:$subul.outerHeight()}
	this.istopheader=$curobj.parents("ul").length==1? true : false
	$subul.css({top:this.istopheader? this._dimensions.h+"px" : 0})
	$curobj.children("a:eq(0)").css(this.istopheader? {paddingRight: arrowsvar.down[2]} : {}).append(
'<img src="'+ (this.istopheader? arrowsvar.down[1] : arrowsvar.right[1])
+'" class="' + (this.istopheader? arrowsvar.down[0] : arrowsvar.right[0])
+ '" style="border:0;" />'
	)
	$curobj.hover(
function(e){
	var $targetul=$(this).children("ul:eq(0)")
	this._offsets={left:$(this).offset().left, top:$(this).offset().top}
	var menuleft=this.istopheader? 0 : this._dimensions.w
	menuleft=(this._offsets.left+menuleft+this._dimensions.subulw>$(window).width())? (this.istopheader? -this._dimensions.subulw+this._dimensions.w : -this._dimensions.w) : menuleft
	$targetul.css({left:menuleft+"px", width:this._dimensions.subulw+'px'}).slideDown(jqueryslidemenu.animateduration.over)
},
function(e){
	var $targetul=$(this).children("ul:eq(0)")
	$targetul.slideUp(jqueryslidemenu.animateduration.out)
}
	) 
}) 
$mainmenu.find("ul").css({display:'none', visibility:'visible'})
	}) 
}
}

jqueryslidemenu.buildmenu("pun-navlinks", arrowimages)

var msgStr = $("a[href='http://testing.1bb.ru/messages.php'] span").html();

var url = location.protocol+'//'+location.hostname;
if(typeof (UserID)!="undefined") {
document.getElementById('navprofile').innerHTML='<a href="'+url+'/profile.php?id='+UserID+'"><span>Профиль</span></a><ul><li><a class="markid" href="'+url+'/profile.php?section=personal&id=">Персональный</a></li><li><a class="markid" href="'+url+'/profile.php?section=messaging&id=">Общения</a></li><li><a class="markid" href="'+url+'/profile.php?section=avatar&id=">Аватар</a></li><li><a class="markid" href="'+url+'/profile.php?section=signature&id=">Подпись</a></li><li><a class="markid" href="'+url+'/profile.php?section=display&id=">Отображения</a></li><li><a class="markid" href="'+url+'/profile.php?section=privacy&id=">Приватность</a></li><li><a class="markid" href="'+url+'/profile.php?section=fields&id=">Остальное</a></li><li><a class="markid" href="'+url+'/profile.php?section=admin&id=">Управление</a></li></ul>' 
}
if ( document.getElementById('navpm') ) {
document.getElementById('navpm').innerHTML='<a href="'+url+'/messages.php">'+msgStr+'</a><ul><li><a class="nog" href="'+url+'/messages.php?box=0">Входящие</a></li><li><a class="nog" href="'+url+'/messages.php?box=1">Отправленные</a></li><li><a class="nog" href="'+url+'//messages.php?action=new">Новое сообщение</a></li></ul>'; 
}
if ( document.getElementById('navadmin') ) {
 document.getElementById('navadmin').innerHTML='<a href="'+url+'/admin_index.php">Администрирование</a><ul><li><a class="nog" href="'+url+'/admin_categories.php" title="Добавление/удаление/редактирование категорий">Категории</a></li><li><a class="nog" href="'+url+'/admin_forums.php" title="Добавление/редактирование форумов">Форумы</a></li><li><a class="nog" href="'+url+'/admin_users.php" title="Поиск пользователя">Пользователи</a></li><li><a class="nog" href="'+url+'/admin_groups.php" title="Добавление/настройка групп">Группы</a></li><li><a class="nog" href="'+url+'/admin_options.php">Настройки</a></li><li><a class="nog" href="'+url+'/admin_permissions.php">Права</a></li><li><a class="nog" href="'+url+'/admin_censoring.php">Цензура</a></li><li><a class="nog" href="'+url+'/admin_ranks.php">Ранги</a></li><li><a class="nog" href="'+url+'/admin_bans.php">Блокировка</a></li><li><a class="nog" href="'+url+'/admin_logs.php" title="Система ведения логов форума">Логи</a></li><li><a class="nog" href="'+url+'/admin_prune.php">Чистка</a></li><li><a class="nog" href="'+url+'/admin_massmail.php" title="Массовая E-mail рассылка">Рассылка</a></li><li><a class="nog" href="'+url+'/admin_fields.php" title="Дополнительные поля профиля">Поля</a></li><li><a class="nog" href="'+url+'/admin_style.php" title="Свой стиль">Стиль</a></li><li><a class="nog" href="'+url+'/admin_pages.php" title="Добавление страницы">Страницы</a></li><li><a class="nog" href="'+url+'/admin_promotion.php" title="Метатеги/Поисковые системы">Раскрутка</a></li><li><a class="nog" href="'+url+'/admin_paid_services.php" title="Платные услуги">Платные услуги</a></li></ul>'
}
</script>

в скрипте ищем вот такую строку

   

var msgStr = $("a[href='http://testing.1bb.ru/messages.php'] span").html();

и вставляем вместо выделенного красным адрес своего форума

внешний вид и стиль выпадающего меню можете настроить как вам угодно

Теги: скрипт, меню навигации и пользовательское меню, меню, Romych,mybb

+2

2

работа с системой оповещения о новых ЛС в меню привела ещё к двум сопутствующим скриптам,
функция у которых одна, а эффекты разные

Система оповещения о новом личном сообщении (с) Romych

скрипт ставить в html-низ:

вариант первый (всплывающее окно)
входя на форум вы видите окно предупреждающее о том, есть ли новое письмо вам или нет (предыдущие подобные скрипты находящиеся на этом форуме не работают с этим меню)

<script language="JavaScript">
    var msgStr = $("a[href='адрес вашего форума/messages.php'] span").html();
    if ( msgStr ) {
    if (msgStr != 'Сообщения') {
      alert('У вас новое письмо');
    }  else {
      alert('Новых писем нет');
    }
    }
    </script>

вариант второй (звуковой)
при получении вами нового письма, входя на форум вы слышите сигнал ( в данном случае стандартное ку-ку из аськи)

<script language="JavaScript">
    var msgStr = $("a[href='адрес вашего форума/messages.php'] span").html();
    if ( msgStr ) {
    if (msgStr != 'Сообщения') {
      document.write('<object type="application/x-shockwave-flash" width="1" height="1" data="http://www.klopp.net.ru/musicbox/FMP3.swf?mp3=http://klopp.net.ru/musicbox/f/0510/57/35017565555a1c6302aa1e1b3c908d.mp3&action=play&title=%D0%BA%D1%83%20%D0%BA%D1%83&loop=no&lma=no"><param name="quality" value="high" /></object>')
    }
    }
    </script>

звуковое оповещение можно было бы реализовать применяя тег bgsound, но его понимают не все браузеры, поэтому от этой затеи пришлось отказаться

данный скрипт проверял в IE, Опере и Мозилле
его можно встроить в тело скрипта меню (при желании)

напоминаю, что как и само меню, система оповещения работает тоже с jQuery
так что в html-верх у вас обязательно должен быть вариант этой библиотеки (у меня вариант 1.4)

   

Код:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>

0

3

Вопрос - можно ли оцентровать всю полоску с меню? А то скрипт вписал, а она влево уехала.

0

4

Пернатый
попробуйте так:

<style>
#pun-navlinks {text-align: center;}
</style>

в html верх

0

5

Герда
вписываю и в начало кода и отдельно - не въезжает, всё так же по левому боку, увы.

0

6

Пернатый
дайте, плз, ссылку на форум.
ща починим. http://i.smiles2k.net/aiwan_smiles/derisive.gif

0

7

Герда
http://justexample.rolka.su/
Вот, собственно, пробник форума, на котором я пробую и клепаю различные скрипты и всё такое прочее %)

0

8

Пернатый
ищем это:

#pun-navlinks.section ul.container li {
    border: 0 none;
    display: inline;
    float: left;
    height: 24px;
    list-style: none outside none;
    margin: 0 20px 0 0;
    padding: 0;
    position: relative;
}

удаляем красное

0

9

нашёл

float: left; /*For Gecko*/
float: left; /*For IE 7 lack of compliance*/

какое из них?

ПСы: при удалении одного из них меню выстраивается в столбик =(

0

10

Пернатый написал(а):

при удалении одного из них меню выстраивается в столбик

ясно...
можно тогда пойти в обход:

#pun-navlinks.section {
    display: block;
    left: 8em;
    opacity: 0.9;
    position: relative;
    z-index: 1000;
    left: 0px;
    right: 0px;

}

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

0