Что-то 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, время: 02:31. |