我有一個單詞列表(條紋)分配給每個單詞。我使用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