मैं एक विशेष थंबनेल (एक मोडल के अंदर) स्क्रॉल करने के लिए jQuery का उपयोग करने का प्रयास कर रहा हूं, जब दाएं/बाएं तीर दबाए जाते हैं (जब उपयोगकर्ता छवि पर क्लिक करता है तो मोडल पॉप अप होना चाहिए)। उपयोगकर्ता थंबनेल पर क्लिक करते समय स्क्रॉल काम करने में सक्षम था, लेकिन जब मैं वर्तमान 2 परिवर्तनों को बदलता हूं तो मैं एक क्लिक ट्रिगर नहीं कर सका। किसी भी सहायता की सराहना की जाएगी।कोणीय + jQuery, छवि परिवर्तन के स्रोत को बदलते समय
मैं Angular.js में नया हूं इसलिए कोड सुधारने के लिए अन्य सुझाव हैं, तो इसकी सराहना की जाएगी।
<body ng-app="mediaGallery" class="ng-cloak" ng-controller="mediaGalleryCtrl">
<div class="row">
<div class="small-8 columns">
<div class="small-3 columns">
<div ng-repeat="obj in array">
<div ng-if="$index < 4">
<img ng-click="changeMainMedia($index, 'current1')" class="thumbnail" ng-src="{{obj.src}}" />
</div>
<div ng-if="$index == 4">
<div class="thumbnail" data-open="media-gallery">
<label class="text-right success label">{{array.length - 3}} +</label>
</div>
</div>
</div>
</div>
<div class="small-9 columns">
<img data-open="media-gallery" class="main-gallery" ng-src="{{array[current1].src}}" />
</div>
</div>
</div>
<div ng-keydown="key($event)" id="media-gallery" class="small reveal text-center media-gallery" data-reveal>
<div class="modal-body">
<div class="main-media">
<img class="main-gallery media-gallery-main" ng-src="{{array[current2].src}}" />
<hr>
<div class="nested-media" scroll-thumbnail>
<img ng-click="changeMainMedia($index, 'current2')" ng-repeat="obj in array" class="thumbnail media-gallery-thumbnail" ng-src="{{obj.src}}" />
</div>
</div>
<button class="close-button" data-close aria-label="Close reveal" type="button">
<span aria-hidden="true">x</span>
</button>
</div>
</div>
<script>
var app = angular.module("mediaGallery", []);
app.controller("mediaGalleryCtrl", ['$scope', function(scope) {
var array = [{
src: "https://placeimg.com/640/480/any"
}, {
src: "https://placeimg.com/640/480/tech"
}, {
src: "https://placeimg.com/640/480/animals"
}, {
src: "https://placeimg.com/640/480/nature"
}, {
src: "https://placeimg.com/640/480/arch"
}, {
src: "https://placeimg.com/640/480/people"
}];
scope.array = array;
scope.current1 = 0
scope.current2 = 0;
scope.changeMainMedia = function(index, key) {
scope[key] = index;
}
scope.key = function($event) {
var previous = -1;
var current = scope.current2;
if ($event.keyCode == "39") {
previous = current;
current = (current + 1) % array.length;
} else if ($event.keyCode == "37") {
previous = current;
current = (current - 1) % array.length;
}
current = current < 0 ? (array.length + current) : current;
scope.current2 = current;
}
}]);
app.directive('scrollThumbnail', function() {
return {
link: function(scope, elem, attrs) {
elem.on("click", function(event) {
$(this).animate({
scrollLeft: $(event.target).position().left
}, "slow");
});
}
};
});
$(document).foundation()
</script>
</body>
क्या भ्रमित है कि jQuery का उपयोग कर के बारे में शीर्षक और अपने प्रश्न बात के शरीर लेकिन इनाम में कहा गया है कि आप jQuery –
@SergChernata उपयोग करने के लिए नहीं मुझे क्या नहीं करना चाहती है एक विशिष्ट डॉम आईडी –
@ सर्ग चेरनाटा के साथ डोम चयनकर्ता का उपयोग करना चाहते हैं, मुझे कोणीय के साथ अधिक अनुभव नहीं है, लेकिन मैं एक उत्तर की तलाश कर रहा हूं जो डीओएम –