私はjqueryからangualrJsに真面目にjavascriptを習得していないので、少し後ろに学んでいます。私はいくつかのjavascriptを知っているが、私はAngular Projectsでそれを実装する方法もとても失われている。私の現在のジレンマは、私のビュー内でボタンが押されたときに、左または右にスクロールするためにコントローラでjavascriptを使用しようとしていることです。AngularJSとJavascriptで右スクロール
私のコントローラのJavaScriptの機能は次のとおりです。
(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;
};
}
})();
このように表示されます。
<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>
私はそれが正しく機能するためには、私のjavascript関数にDOMから要素を呼び出す必要がありますような気がしますが、私は私が実際にやっていることについて少し迷ってしまいました。誰かがドットを結ぶのを助けることができますか?
あなたのスコープオブジェクトへの参照がありません。ファイル全体を投稿できますか?それは範囲の要素の外にあると見なされます。 –
これもisn;私はセカンダリ関数を設定する方法です。 –
申し訳ありませんが、スコープオブジェクトの意味がわかりません。あなたが求めているのであれば、UIルータを使ってコントローラを私のルートに接続しました。また、二次的な機能をどのように設定するか尋ねてもいいですか?私はあなたがJavascriptであなたのコントローラjを乱雑にすべきではないことを読んだ。私はよりよい習慣を知らない。 – Jleibham