Форум сервиса

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

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


Вы здесь » Форум сервиса » Дополнения к форумам » Выпадающая менюшка при правом клике


Выпадающая менюшка при правом клике

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

1

Вот вам выпадающая менюшка при нажатии правой кнопки мыши!©

То что выделено красным ваши ссылки, то что синем их название

Вставляем в: АЦ->Хтмл и шаблоны-> Редактирование шапки форума,
и в самы верх ставим это:

<STYLE>.mu1 {
BORDER-RIGHT: black 2px solid; BORDER-TOP: black 2px solid; VISIBILITY: hidden; BORDER-LEFT: black 2px solid; WIDTH: 200px; CURSOR: default; LINE-HEIGHT: 20px; BORDER-BOTTOM: black 2px solid; FONT-FAMILY: Verdana; POSITION: absolute; BACKGROUND-COLOR: menu; TEXT-ALIGN: left
}
.mu2 {
BORDER-RIGHT: buttonhighlight 2px outset; BORDER-TOP: buttonhighlight 2px outset; FONT-SIZE: 10pt; VISIBILITY: hidden; BORDER-LEFT: buttonhighlight 2px outset; WIDTH: 220px; CURSOR: default; BORDER-BOTTOM: buttonhighlight 2px outset; FONT-FAMILY: Arial,Helvetica,sans-serif; POSITION: absolute; BACKGROUND-COLOR: menu; TEXT-ALIGN: left
}
.menuitems {
PADDING-RIGHT: 10px; PADDING-LEFT: 15px
}
</STYLE>
<script language=JavaScript1.2>
var menuskin = "mu2";
var display_url = 0;
function showmenuie5() {
var rightedge = document.body.clientWidth-event.clientX;
var bottomedge = document.body.clientHeight-event.clientY;
if (rightedge < ie5menu.offsetWidth)
ie5menu.style.left = document.body.scrollLeft + event.clientX - ie5menu.offsetWidth;//fantasyflash.ru
else
ie5menu.style.left = document.body.scrollLeft + event.clientX;
if (bottomedge < ie5menu.offsetHeight)
ie5menu.style.top = document.body.scrollTop + event.clientY - ie5menu.offsetHeight;
else
ie5menu.style.top = document.body.scrollTop + event.clientY;
ie5menu.style.visibility = "visible";
return false;
}
function hidemenuie5() {
ie5menu.style.visibility = "hidden";
}
function highlightie5() {
if (event.srcElement.className == "menuitems") {
event.srcElement.style.backgroundColor = "highlight";
event.srcElement.style.color = "white";
if (display_url)//osw
window.status = event.srcElement.url;
  }
}
function lowlightie5() {
if (event.srcElement.className == "menuitems") {
event.srcElement.style.backgroundColor = "";
event.srcElement.style.color = "black";
window.status = "";
  }
}
function jumptoie5() {
if (event.srcElement.className == "menuitems") {
if (event.srcElement.getAttribute("target") != null)
window.open(event.srcElement.url, event.srcElement.getAttribute("target"));
else
window.location = event.srcElement.url;
  }
}
</SCRIPT>

<DIV class=mu1 id=ie5menu onmouseover=highlightie5() onclick=jumptoie5(); onmouseout=lowlightie5()>
<DIV class=menuitems url="Ваша ссылка">Linka1</DIV>
<HR>
<DIV class=menuitems url="Ваша ссылка">Linka2</DIV>
<DIV class=menuitems url="Ваша ссылка">Linka3</DIV>
<DIV class=menuitems url="Ваша ссылка">Linka4</DIV>
<HR>
<DIV class=menuitems url="Ваша ссылка">Linka5</DIV>
<DIV class=menuitems url="Ваша ссылка">Linka6</DIV>
</DIV>
<script language=JavaScript1.2>
if (document.all && window.print) {
ie5menu.className = menuskin;//osw
document.oncontextmenu = showmenuie5;
document.body.onclick = hidemenuie5;
}
</SCRIPT>

Отредактировано Devilbad (2006-04-13 16:23:21)

0

2

Если не сложно можешь привести пример этой штучки, а то я не сильно представляю что это будет.

0

3

О! очень полезная штука. Спасибо :)

0

4

Данный код не работает в Мозилле.
Он не совсем граммотный. Это осуществляется граммотнее и тогда оно будет во всех браузерах работать. Если кому надо- дам скрипт.

0

5

Если не сложно дай мне, полезная штука. Можешь в ПМ скинуть.

0

6

MasloИ мне плиз! (Только, правда, хотца прежде посмотреть, что это такое)

0

7

Нажми на любое место это тоже самое, только выпадут названия куда ведут ссылки

0

8

а можно посмотреть код в действии?? скиньте ссылку на ваш форум, кто уже установил

0

9

Заходи на мой форум

http://regents.ruhelp.com/index.php?act=idx

Там сделал.

0

10

Нашёл большой недостаток этого мода - когда хочешь открыть ссылку на форуме в новом окне, это сделать невозможно, так как открывается всё равно эта минюшка...Можно ли как-нибудь это исправить?

0

11

oткрывай через Shift

0

12

Что открыть можно через шифт знаем ты, да я. Только у меня на форуме не только я один. Всему народу это не скажешь, через 3 минуты после установки мода сразу 3 письма недовольных...

0

13

Заходи на мой форум

http://regents.ruhelp.com/index.php?act=idx

Там сделал.

Чёт я не увидел. Можешь сделать скрин и обвести где именно это показывается?

0

14

Я её уже убрал, так как сразу появилась масса недовольных.

0

15

ИМХО на форумах это нах не нужно, да и на сайте я бы не поставил.

0

16

SilverDolphin

Совершенно согласен! :)

0

17

Да уж, какая-то фигня... не нужно это!

0

18

... Если кому надо- дам скрипт.

Выложи этот скрипт прямо здесь в теме.

0

19

2 Maslo

А как на счет Оперы и других браузеров?

0

20

Выложи этот скрипт прямо здесь в теме.

Я так и сделаю, я просто отсутствовал некоторое время.

Нашёл большой недостаток этого мода - когда хочешь открыть ссылку на форуме в новом окне, это сделать невозможно, так как открывается всё равно эта минюшка...Можно ли как-нибудь это исправить?

нет ничего не возможно. Просто ловишь объект на котором совершили событие, и если это ссылка, то не открывать меню :) Так же и с картинками надо сделать.

Чуть попозже выложу код. Щас подредактирую для ссылок и картинок :)

Отредактировано Maslo (2006-04-15 19:36:25)

0

21

Вот. Выкладываю:
1. Стиль
Добавляете в файл стиля скина:

Код:
.cMenu                          {
        	border: solid 2px slategray;
        	cursor: default;

        	background-color: lightsteelblue;
        	text-align: left;
}
.cMenu td:hover{
        	background: slateblue;
        }	
.cMenu span{
        	background: transparent;
        	padding-left: 10px;

                                }

2. Скрипт+само меню

Код:
<script type='text/javascript'>
<!--
var nado=false;
document.oncontextmenu = blockEvents;
document.onmouseup = hidemenu;

function hidemenu(){ //Скрываем див Меню
if (nado){
var div = document.getElementById("cMenu")
div.style.display="none"
}
}

function blockEvents(evt) {
    var div = document.getElementById("cMenu")
    var blockit = false;
	if (document.all) { //IE :)
	var elem = event.srcElement;
	} else { //mozilla :)
    var elem = (evt.target);
	}
    if (elem && elem.tagName && elem.tagName.toLowerCase() != "img" && elem.tagName.toLowerCase() != "a") {
	div.style.display="";
	if (document.all){ //ie
         event.cancelBubble = true;
        event.returnValue = false;
  div.style.left = event.clientX
div.style.top = event.clientY
	} else {
   evt.preventDefault();
        evt.stopPropagation();
  div.style.left = evt.clientX
         div.style.top = evt.clientY
	}
     nado=true;
    }
}
// (c) Vingrad.ru FAQ
//-->
</script>
<!-- а вот сам див с менюшкой -->
<div class="cMenu" style="position:absolute; display:none; width:80px" id="cMenu">
<TABLE border='0' cellspacing='0' cellpadding='0' width='100%'>
<TR><td onclick='document.location.href="YOUR_LINK"'><span>Menu1</span>
</td></tr>
<TR><td onclick='document.location.href="YOUR_LINK"'><span>Menu2</span>
</td></tr>
<TR><td onclick='document.location.href="YOUR_LINK"'><span>Menu3</span>
</td></tr>
<TR><td onclick='document.location.href="YOUR_LINK"'><span>Menu4</span>
</td></tr>
<TR><td style="border-top: thin dashed slategray" onclick='document.location.href="YOUR_LINK"'><span>Help</span>
</td></tr>
</table>
</div>

Поясняю:
1) Всплывающее меню открывается при  клике где угодно, кроме изображения или ссылки.
Если хотите снять разрешение на изображение (чтоб может картинку не украли), то уберите

&& elem.tagName.toLowerCase() != "img"

из кода выше
2) Мозилла 1.5, ИЕ 6.0 Проверено. Работает! Только в ИЕ не работает td.hover, то есть при наведении не меняется цвет (через css)... Но это вы уже сами сделаете (можете ссылку там сделать, а можете через javascript)
В Опере увы не тестил. Я знаю что в опере вообще с событиями траблы, так что может быть в стареньких операх не будет пахать :(
3)Что вам редактировать:
Там див с таблицей. Вот вы задавайте значения аттрибутам onclick. Там стоят ссылки (можете свои адреса прописать)... Можно делать универсальные ссылки (в зависимости от объекта на который нажали) и т.д.
4) Стиль проредактируйте сами на ваш вкус

Пример работающего скрипта-теста:
http://xthost.info/ruhelp/test1.html

Отредактировано Maslo (2006-05-01 11:19:25)

0

22

2 Maslo, я скопировал это сообщение
на свой форум. Надеюсь, ты не против?  ;)

0

23

Надеюсь, ты не против?

Всегда пожалуйста :) Можно с пометочкой типа "©Maslo"  :lol:

0

24

Всегда пожалуйста :) Можно с пометочкой типа "©Maslo"  :lol:

А ты зайди, и проверь.  ;)

Отредактировано Юра (2006-04-17 19:45:10)

0

25

2 Maslo

Пример работающего скрипта-теста:
http://xthost.info/ruhelp/test1.html

Что то я не увидел на твоем примере работу этой функции.

Тема с всплывающей менюшкой прикольна, но если ее грамотно замутить. Я бы тоже у себя добавил данную функцию.
Вот на одном форуме видал ЗДЕСЬ эту функцию в виде плавающей навигации в левом верхнем углу. Ты гуляешь по странице, а красный квадратик плавает вверх-вниз. Кликнул на него и вот тебе навигатор.

0

26

Там нет сей функции :)

Менюшка появляется при клике в ЛЮБОМ месте

0

27

2LENAALIK это ты кому?

0

28

Это я всем. Нет на предложенном сайте никакой менюшки

0

29

2LENAALIK
На этом форуме, в верхнем левом углу красная табличка "навигация".

0

30

Так это плавающая.

А здесь говорилось о правом клике.

А подобную такбличку сделать можно. Поищи скриптик и суй в любое место кода.

0


Вы здесь » Форум сервиса » Дополнения к форумам » Выпадающая менюшка при правом клике