Я не очень доволен тем, что могу найти. Я просто хочу простой пример системы меню в Angularjs с эффектом зависания и эффектом выбора.Как сделать простую навигацию по меню в angularjs
Я понимаю, что эффекты «зависания» могут выполняться в CSS, но для меня это больше упражнение, чтобы лучше понять угловые.
Что я пытаюсь сделать, это довольно простой материал.
В принципе у меня есть некоторые HTML, который имеет некоторые DIVs (или пункты меню):
<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 и MouseOut
Я понимаю ..
- Это, вероятно, лучше, чтобы сделать эффект парения в CSS
- Можно сделать некоторую встроенную логику в HTML с угловыми
... потому что я хочу иметь поток от эффектов от этих событий. Событие hover необходимо вывести информацию, относящуюся к этому элементу меню, и событие click также должно выполнить некоторые действия, связанные с этим пунктом меню. Дешевые трюки 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...
};
Такая же проблема:.. $ событие не определено Я также хочу передать в индекс, так что я могу сделать что-то особенное для некоторых пунктов меню
Мои Fiddle здесь:
https://jsfiddle.net/zxjg3tpo/5/
ahhh это 'target' не 'srcElement'. благодаря –