- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
<div id="header">
<script>
function mShow (mEl) {
if (document.getElementById(mEl)) {
el = document.getElementById(mEl);
if (el.style.display=='block') el.style.display = 'none';
else el.style.display ='block';
if (mEl != 'mFoto') document.getElementById('mFoto').style.display = 'none';
if (mEl != 'mFriend') document.getElementById('mFriend').style.display = 'none';
if (mEl != 'mMessage') document.getElementById('mMessage').style.display = 'none';
}
}
function sOff (e) {
if(!e){e=window.event;}
var message="";
document.getElementById('mFoto').style.display = 'none';
document.getElementById('mFriend').style.display = 'none';
document.getElementById('mMessage').style.display = 'none';
function clickIE() {if (document.all) {(message);return false;}}
function clickNS(e) {if (document.layers||(document.getElementById&&!document.all)) {
if (e.which==2||e.which==3) {
(message);
return false;}}}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=clickNS;
}else{
document.onmouseup=clickNS;
document.oncontextmenu=clickIE;
}
//document.oncontextmenu=new Function("return false")
}
if(document.addEventListener){
document.addEventListener("click",sOff,true);
}else if(document.attachEvent){
document.attachEvent("onclick",sOff);
}else{
document.onclick = sOff;
}
</script>
<ul class="menu_top">
<li><a href="/users/555355" style="font-weight:bold;">inkanus</a> (<a href="/logout">выйти</a>)
</li>
<li>
<a href="#" onClick="mShow('mFoto');return false;">Мои фотографии <small>▼</small></a>
<ul id='mFoto' class="submenu_top" style="right:280px;">
<li><a href="/users/555355">Моя страница</a></li>
<li><a href="/upload">Загрузить фотографии</a></li>
<li><a href="/create">Создать альбом</a></li>
<li><a href="/comments">Последние комментарии</a></li>
<li><a href="/options">Настройки</a></li>
</ul>
</li>
<li>
<a href="#" onClick="mShow('mFriend');return false;">Мои друзья <small>▼</small></a>
<ul id='mFriend' class="submenu_top" style="right:166px;">
<li><a href="/friends">Фотки друзей</a></li>
<li><a href="/friends/control">Друзья</a></li>
<li><a href="/friends/banned">Игнорируемые</a></li>
</ul>
</li>
<li>
<a href="#" onClick="mShow('mMessage');return false;">Мои сообщения <small>▼</small></a>
<ul id='mMessage' class="submenu_top" style="right:5px;">
<li><a href="/messages">Входящие</a></li>
<li><a href="/messages/sent">Исходящие</a></li>
<li><a href="/messages/send">Отправить сообщение</a></li>
</ul>
</li>
</ul>
</div>
Во-первых, хардкод координат, тем более в пикселах: style="right:280px;"
Что будет, если сменить шрифт или открыть другим браузером? Это даже не Веб 1.0.
Во-вторых, function clickIE() и document.attachEvent гипотетически предназначены для IE, но бедные юзеры IE не могут развернуть меню! Функция sOff, закрывающая меню, в IE вызывается тут же после его открытия.
Может быть, я неправ, но что-то типа http://inkanus-gray.narod.ru/menu1.zip было бы элегантнее (хотя тоже не без Г).
На процитированном фотосайте профили пользователей извлекались из БД форума (IPB 2). Прошлой ночью админы вероломно обновили форум до IPB 3. Теперь при попытке залогиниться на фотосайте:
Table 'ipb.ibf_members_converge' doesn't exist
Теперь думаю, как бы завлечь сюда разработчиков. Может быть, тогда починят?