我认为这会很简单;基本上,这是一个 5 星评级系统。例如,当用户单击三颗星时,我想将这三颗星卡住在它们所在的位置。我一直在尝试简单地删除 a href
的悬停,使其保持原样;也许这不是正确的方法。我已经用尽了我能想到的一切。顺便说一下,这是直接的 JavaScript,而不是 jQuery 或其他任何东西。这很疯狂,我知道,但所有的 JS 都是直接写的。
我有这门课:
.star-rating li a{
display:block;
width:25px;
height: 25px;
text-decoration: none;
text-indent: -9000px;
z-index: 20;
position: absolute;
padding: 0px;
}
.star-rating li a:hover{
background: url(images/alt_star.png) left bottom;
z-index: 2;
left: 0px;
}
.star-rating a:focus,
.star-rating a:active{
border:0;
-moz-outline-style: none;
outline: none;
}
.star-rating a.one-star{
left: 0px;
}
.star-rating a.one-star:hover{
width:25px;
}
和这段代码:
<ul class='star-rating'>
<li><a href="#" onclick="javascript: vote(<?=$id;?>, 1); disableStars(); return false;"
title='1 star out of 5' id="1s" class='one-star'>1</a></li>
最佳答案
我建议向包含所有这些元素的元素添加一个类,然后在您不想再让悬停影响它时删除该类。
.not-selected.star-rating a.one-star:hover{
width:25px;
}
使用一些 javascript,删除 not-selected
类,从而禁用适用于悬停效果的规则。
关于javascript - 删除 :hover using JavaScript (not using jQuery. .. 不要问),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2734835/