我對我所能找到的東西並不滿意。我只想在Angularjs中使用一個簡單的菜單系統示例,其中包含懸停效果和選擇效果。如何在angularjs中進行簡單的菜單導航
我明白'懸停'效果可以在CSS中完成,但這更多的是讓我更好地理解angularjs。
我想要做的是非常基本的東西。
基本上我有一些HTML具有一定的DIV(或菜單項):
<div NavCtrl id="header">
<div class="item" ng-click="click(1)" ng-mouseenter="hoverIn()" ng-mouseleave="hoverOut()">
1
</div>
<div class="item" ng-click="click(2)" ng-mouseenter="hoverIn()" ng-mouseleave="hoverOut()">
2
</div>
<div class="item" ng-click="click(3)" ng-mouseenter="hoverIn()" ng-mouseleave="hoverOut()">
3
</div>
</div>
我想要做的兩件事情。
- 監聽點擊
- 監聽mouseIn和鼠標移開
我明白..
- 這可能是更好的做在CSS懸停效果
- 有可能在HTML中使用angularjs做一些內聯邏輯
...因爲我想讓這些事件產生效果。懸停事件需要拉出與該菜單項有關的信息,並且點擊事件也應該能夠執行與該菜單項有關的一些操作。廉價的CSS技巧不會解決這個問題!
對於我的懸停邏輯,我認爲這會做的伎倆:
$scope.hoverIn = function($event){
angular.element($event.srcElement).addClass('hover')
};
$scope.hoverOut = function($event){
angular.element($event.srcElement).removeClass('hover')
};
但是$事件未定義:(我如何從鼠標懸停事件的元素對象
我?單擊邏輯是這樣的:
$scope.click = function(position, $event) {
elem = angular.element($event.srcElement);
if (elem.hasClass("clicked")) {
elem.removeClass("clicked")
}else {
elem.addClass("clicked")
}
// if (position == 1) //do something etc...
};
同樣的問題:。$事件是不確定的我也想在索引中通過,這樣我可以做一些特別針對某些菜單項
我的小提琴是在這裏:
https://jsfiddle.net/zxjg3tpo/5/
ahhh它的'目標'不是'srcElement'。謝謝 –