如何在禁用模式下停止按钮的悬停效果

时间:2012-07-04 10:57:53

标签: javascript css css3 javascript-events

如何在禁用模式下停止按钮的悬停效果。 在禁用按钮后我无法停止悬停效果我已经尝试但是工作不正常,请帮助我,我想改变以获得良好的效果。

<div id="prevnexts">
            <button id="prevs" class="navButs tprev" disabled="">Prev</button>
            <button id="nexts" class="navButs tnext" enabled="enabled">Next</button>
</div>

CSS

#prevnexts {
height: 22px;
left: 50px;
position: absolute;
top: 160px;
width: 75px;
}

 #prevnexts .tnext, #prevnexts .tprev {
background: url("images/next1.png") no-repeat scroll 0 0 transparent;
border: 1px solid transparent;
height: 25px;
text-indent: -9999px;
width: 33px;
cursor:pointer;
 }

button[disabled]:active, button[disabled],
input[type="reset"][disabled]:active,
input[type="reset"][disabled],
input[type="button"][disabled]:active,
input[type="button"][disabled],
select[disabled] > input[type="button"],
select[disabled] > input[type="button"]:active,
input[type="submit"][disabled]:active,
input[type="submit"][disabled]
{
 opacity:0.5;
 }



 #prevnexts .tprev 
{
background:url(images/prev1.png) no-repeat 0 0;
}

#prevnexts .tprev:hover

{
 background:url(images/prev1hover.png) no-repeat 0 0;
}

 #prevnexts.tnext:hover
 {
 background:url(images/next1hover.png) no-repeat 0 0;
  }

javascript:

     $(document).ready(function() { 
    var cnt = 1;
    var maxLinkss =<?php echo $mypostall;  ?>;
    $("#prevs").attr("disabled","disabled");
    $(".tprev:hover").remove();
    $("#nexts").attr("enabled","enabled");   
    $(".navButs").click(function(){   
    if (this.id=="nexts") {
    cnt++;  
   console.log(" + ",cnt);    
   }
   else {
  cnt--;
  console.log(" - ",cnt);  

  }
  if (cnt<0) cnt=0;     
  if (cnt>maxLinkss-1) {
  $("#nexts").attr("disabled","disabled"); 

   }
   else {
    $("#nexts").removeAttr("disabled"); 

  }
  if (cnt==1) {
  $("#prevs").attr("disabled","disabled"); 

 }
 else {
  $("#prevs").removeAttr("disabled"); 
}
});  
}); 

2 个答案:

答案 0 :(得分:10)

使用:enabled,但IE&lt; 9不支持:

<style type="text/css">
.my_button{
   /* ... */
}

.my_button:hover:enabled{
   /* this will only show when the button is enabled, */
   /* and the user is hovering over it.. */
}
</style>

答案 1 :(得分:1)

您可以使用css :not()选择器。例如:button:not([enabled="enabled"])。有关:not()选择器here的更多信息。