我有一个单词列表(条纹)分配给每个单词。我使用AngularJS的ng-style设置每个单词的背景颜色。使用ng样式设置样式后,在悬停时更改背景颜色
HTML
<ul class="unstyled">
<li class="tHi" ng-repeat="item in items" ng-click="getEdit(item.word)" ng-style="bgstyle(item.streak)">
<span>{{item.word}} {{item.streak}}</span>
</li>
</ul>
的JavaScript从纳克式调用。
$scope.bgstyle = function (streak) {
var red = 255;
var green = 255-streak;
var blue = 255-streak;
var rgb = blue | (green << 8) | (red << 16);
var sColor = '#' + rgb.toString(16);
return {backgroundColor: sColor};
}
这是有效的,但是,我希望在鼠标悬停在单词上时突出显示背景。我添加了一个通常会改变悬停背景的类“tHi”,但它被添加的样式覆盖。
这是一个jsfiddle,演示了这个问题。
是否有更好的方式来设置背景比ng风格,以便它对应于分配给每个单词的号码?或者有什么方法可以突出显示用户何时悬停在单词上?
我喜欢你的答案作为使用指令和ng-mouseover的例子。谢谢。另外,你的回答让我意识到以前没有发生过的事情。最简单的解决方案是添加类'tHi'来跨越而不是li。这样我不需要!重要的或指令。就像你说的那样避免了与ng风格的冲突。 – Daniel
伟大的观察。 (并且它避免了所有额外的事件绑定和$监视。) –
这是一个完全正交的评论,但如果您只是为样式应用类,则始终可以使用好的CSS'CSS'并定义:hover。 – chug2k