Что-то onmouseup у меня не хочет правильно работать.
Кратенько HTML
<div style="background-image:url('_ima/but.gif')" id="but1" onmouseover="mybut('but1', 1)" onmouseout="mybut('but1')" onmousedown="mybut('but1', 2)" onmouseup="mybut('but1', 1)"> </div> Кратенько Javascript function mybut(elId, flag) { if (typeof flag == 'undefined') {flag = 0}; var elem = document.getElementById(elId).style; switch (flag) { case 0: elem.backgroundImage = 'url("_ima/but.gif")'; break; case 1: elem.backgroundImage = 'url("_ima/but1.gif")'; elem.height = '24px'; elem.paddingTop = '0'; break; case 2: elem.backgroundImage = 'url("_ima/but2.gif")'; elem.height = '23px'; elem.paddingTop = '1px'; } } Почему-то у меня при отпускании кнопки мыши срабатывает case 0, хотя вроде должно срабатывать case 1. Правильно работает только в IE7-8. |
Странно, практически ничего не поменял, но всё работает.)
<script type="text/javascript"> function mybut(elId, flag) { if (typeof flag == 'undefined') {flag = 0}; var elem = document.getElementById(elId).style; var elem2 = document.getElementById('event'); switch (flag) { case 0: elem2.innerHTML+='0 | '; break; case 1: elem2.innerHTML+='1 | '; break; case 2: elem2.innerHTML+='2 | '; } } </script> <div style="width:336px;height:76px;background-image:url('/forum/images/ca_serenity/misc/logo.gif')" id="but1" onmouseover="mybut('but1', 1)" onmouseout="mybut('but1')" onmousedown="mybut('but1', 2)" onmouseup="mybut('but1', 1)"></div> <div id='event'>События:</div> |
Вот тогда код поподробнее. Если кто-нибудь меня тыкнет носом, где я не прав, буду очень признателен.
HTML <form id="form1" action="" method="post" accept-charset="utf-8"> <div id="but1" class="but" onmouseover="mybut('but1', 1)" onmouseout="mybut('but1')" onmousedown="mybut('but1', 2)" onmouseup="mybut('but1', 1)" onclick="document.getElementById('form1').submit();"> <input id="but1_ns" class="but" type="submit" value="войти" /> <script type="text/javascript">jsbut('but1', 'войти');</script> </div> </form> CSS Код:
.but{position:absolute;width:100px;height:26px;cursor:pointer} function jsbut(elId, buttxt) { var newDiv = document.createElement('div'); newDiv.className = 'jsbut'; newDiv.id = elId + '_js'; newDiv.innerHTML = buttxt; document.getElementById(elId).replaceChild(newDiv, document.getElementById('but1_ns')); } function mybut(elId, flag) { if (typeof flag == 'undefined') {flag = 0}; var elem = document.getElementById(elId + '_js').style; switch (flag) { case 0: elem.backgroundImage = 'url("_ima/but.gif")'; break; case 1: elem.backgroundImage = 'url("_ima/but1.gif")'; elem.height = '24px'; elem.paddingTop = '2px'; break; case 2: elem.backgroundImage = 'url("_ima/but2.gif")'; elem.height = '23px'; elem.paddingTop = '3px'; } } |
А вы уверенны что срабатывает именно case 0, а не case 1, просто с ошибкой?
|
Да вот картинка подставляется вот эта url("_ima/but.gif")
Хотя должна вот эта url("_ima/but1.gif") Причем, IE7-8 правильно работает. Ладно, завтра на свежую голову смотреть буду. Спасибо за помощь. |
Цитата:
|
Часовой пояс GMT +3, время: 20:34. |