Tworze menu i chciałem zrobić coś nowego i wymyśliłem sobie menu które ma opcje (przyciski) nieostre a po najechaniu mają się wyostrzać po przesunięciu myszki miały wracać do stanu wyjściowego. Wszysko pięknie ładnie zabrałem się do pracy napisałem skrypcik. Po wstępnych testach myślałem że wszystko jest ok ale diabeł tkwi w szczegółach


Poniżej wklejam kod js.
function buttonChange() { this.obj = ''; this.timeUp = 0; this.timeDown = 0; this.time = 0; this.opacity = 100; this.speed = 25; //ms var self = this; this.opacityChange = function( direction, obj ) { if( direction == 1 ) { if( this.opacity < 100 ) { this.opacity += this.speed; $('#' + obj.id + ' span.base').css('opacity', ( (1/ 100 ) * this.opacity ) ); } else { $('#' + obj.id + ' span.base').css('opacity', 1); clearInterval( self.time ); } } else if( direction == 0 ) { if( this.opacity >= this.speed ) { this.opacity -= this.speed; $('#' + obj.id + ' span.base').css('opacity', ( (1/100) * this.opacity ) ); } else { $('#' + obj.id + ' span.base').css('opacity', 0); clearInterval( self.time ); } } } this.activButton = function(obj) { this.time = setInterval( function(){ self.opacityChange(0, obj) }, 10); } this.unactivButton = function(obj) { this.time = setInterval( function(){ self.opacityChange(1, obj) }, 10); } } var buttonChange = new buttonChange();
kod Html
<div id='menuTop'> <ul> <li id='menuTop0'> <a href='aaa.html'> <span class='hover' id='menuTop0Hover' onmouseover=\"buttonChange.activButton(this);\" onmouseout=\"buttonChange.unactivButton(this);\"> </span> </a> </li> <li id='menuTop1'> <a href='bbb.html'> <span class='hover' id='menuTop1Hover' onmouseover=\"buttonChange.activButton(this);\" onmouseout=\"buttonChange.unactivButton(this);\"> </span> </a> </li> <li id='menuTop2'> <a href='ccc.html'> <span class='hover' id='menuTop2Hover' onmouseover=\"buttonChange.activButton(this);\" onmouseout=\"buttonChange.unactivButton(this);\"> </span> </a> </li> <li id='menuTop3'> <a href='ddd.html'> <span class='hover' id='menuTop3Hover' onmouseover=\"buttonChange.activButton(this);\" onmouseout=\"buttonChange.unactivButton(this);\"> </span> </a> </li> <li id='menuTop4'> <a href='eee.html'> <span class='hover' id='menuTop4Hover' onmouseover=\"buttonChange.activButton(this);\" onmouseout=\"buttonChange.unactivButton(this);\"> </span> </a> </li> </ul> </div>
oraz css
#menuTop{ float:left; margin:65px 0px 0px 200px; } #menuTop ul{ list-style:none; padding:0px; margin:0px; } #menuTop ul li{ float:left; padding:0px; margin:0px; } #menuTop0 span.base{ width: 48px; height: 19px; display:block; background:url(../img/global/menuTop.png) 0px 0px; } #menuTop0 span.hover{ width:48px; height: 19px; display:block; background:url(../img/global/menuTop.png) 0px 19px; } #menuTop1 span.base{ width:94px; height: 19px; display:block; background:url(../img/global/menuTop.png) -89px 0px; } #menuTop1 span.hover{ width:94px; height: 19px; display:block; margin-left:41px; background:url(../img/global/menuTop.png) -89px 19px; } #menuTop2 span.base{ width:66px; height: 19px; display:block; background:url(../img/global/menuTop.png) -220px 0px; } #menuTop2 span.hover{ width:66px; height: 19px; display:block; margin-left:37px; background:url(../img/global/menuTop.png) -220px 19px; } #menuTop3 span.base{ width:56px; height: 19px; display:block; background:url(../img/global/menuTop.png) -317px 0px; } #menuTop3 span.hover{ width:56px; height: 19px; display:block; margin-left:32px; background:url(../img/global/menuTop.png) -317px 19px; } #menuTop4 span.base{ width:60px; height: 19px; display:block; background:url(../img/global/menuTop.png) -410px 0px; } #menuTop4 span.hover{ width:60px; height: 19px; display:block; margin-left:39px; background:url(../img/global/menuTop.png) -410px 19px; }