Ich lerne Dinge ein wenig rückwärts, weil ich von jquery zu angualrJs sprang, ohne wirklich Javascript zu lernen. Ich weiß etwas Javascript, aber ich bin auch sehr verloren, wie man es mit meinen Eckigen Projekten umsetzt. Mein derzeitiges Dilemma ist, dass ich versuche, Javascript in einem Controller zu verwenden, um nach links oder rechts zu scrollen, wenn eine Schaltfläche in meiner Ansicht eingeblendet wird.Scrollen Sie nach rechts mit AngularJS und Javascript
Meine Javascript-Funktion in meinem Controller ist wie folgt.
(function() {
'use strict';
angular
.module('bhamDesign')
.controller('GalleryController', GalleryController);
/** @ngInject */
function GalleryController($scope, $stateParams, $http) {
var vm = $scope;
$http.get('assets/json/galleries/' + $stateParams.mainId + '.json').success(function(data) {
vm.gallery = data;
});
vm.toggle = false;
vm.imageLightbox = function (image) {
vm.toggle=!vm.toggle;
vm.imageSingle = image;
};
vm.scrollLeft = function(){
getElementsByClassName('img-container').scrollLeft += 20;
};
vm.scrollRight = function(){
getElementsByClassName('img-container').scrollRight += 20;
};
}
})();
und es wird aus der Sicht wie so genannt.
<i id="scroll-left" ng-mouseover="scrollLeft()" class="fa fa-angle-left"></i>
<i id="scroll-right" ng-mouseover="scrollRight()" class="fa fa-angle-right"></i>
<div class="img-container">
<img ng-src="{{image}}" ng-repeat="image in gallery.images" ng-click="imageLightbox(image)">
</div>
Ich fühle mich wie das Element aus dem DOM in meine Javascript-Funktion, um verlangen, damit er korrekt arbeiten, aber ich bin ein wenig verloren, was ich gerade tue. Kann mir jemand helfen, die Punkte zu verbinden?
Sie vermissen einen Verweis auf Ihr Scope-Objekt können Sie die vollständige Datei veröffentlichen? es würde außerhalb des Elements auf dem Umfang gefunden werden. –
auch dies ist nicht die Art und Weise, wie ich die sekundäre Funktion einrichten würde. –
Es tut mir leid, ich bin mir nicht sicher, was Sie mit dem Scope-Objekt meinen. Ich habe meinen Controller an meine Route mit UI-Router angeschlossen, wenn Sie das fragen. Darf ich fragen, wie Sie eine sekundäre Funktion einrichten würden? Ich lese, dass Sie Ihren Controller js nicht mit JavaScript durcheinander bringen sollten, ich kenne einfach keine bessere Praxis. – Jleibham