मैं एक निर्देश बनाने की कोशिश कर रहा हूं कि मैं वर्चुअल स्क्रॉल कर सकता हूं, ताकि उपयोगकर्ता तालिका को स्क्रॉल कर सके, तालिका "पुराने" दृश्यों को हटा दें और "नया" दृश्य जोड़ें, जैसे संग्रह दोहराना, लेकिन मैं रहा हूं असफल रहा, मुझे लगता है कि मैं इसके पीछे गणित को समझ नहीं पाया, क्या कोई मेरी मदद कर सकता है?मैं angularJS के साथ वर्चुअल स्क्रॉल कैसे बना सकता हूं?
BaseModule.directive('myScroll', function() {
return {
restrict:"A",
scope:{
rows:"=",
headers:"="
},
link: function(scope,el) {
var scrollTop = 0;
var scrollLeft = 0;
angular.element(el).on('scroll',function(){
scrollTop = $(el).scrollTop();
scrollLeft = $(el).scrollLeft();
$(el).parent().find(".header").scrollLeft(scrollLeft);
var height = $(el).height();
var numberOfRows = height/23;
var initialRow = scrollTop/23;
var html = "";
for(i=0; i<numberOfRows;i++){
var row = scope.rows[i+initialRow];
html = html + addRow(row,i+initialRow);
}
$(el).find('.tbody-scroll').append(html);
});
scope.$watch('rows',function(rows){
var height = $(el).height();
var numberOfRows = height/23;
var initialRow = scrollTop/23;
var html = "";
for(i=0; i<numberOfRows;i++){
var row = rows[i+initialRow];
html = html + addRow(row,i+initialRow);
}
$(el).find('.tbody-scroll').append(html);
});
var addRow = function(row,index){
var html = "";
var pos = 0;
var totalWidth = 0;
angular.forEach(row,function(col){
var width = scope.headers[pos].width;
totalWidth = totalWidth + width;
html = html + "<span style='width:"+width+"px'>"+col.value+"</span>";
pos++;
});
html = "<div class='row' style='top:"+index*23+"px;width:"+totalWidth+"px;'>"+html;
html = html + "</div>";
return html;
};
}
};
});
<!-- my directive .html -->
<div class="mTable">
<div class="header" ng-style="headerWidth(headers())">
<span ng-repeat="header in headers()" ng-style="widthStyle(header)">
{{::header.label}}
</span>
</div>
<div class="tbody-container" my-scroll headers="headers()" rows="rows()">
<div class="tbody-scroll" ng-style="scrollHeight(rows(),headers())"></div>
</div>
</div>
मैं वास्तव में पहले ही इस निर्देश को पहले ही देख चुका हूं, और नहीं था सफलता लेकिन अचानक मुझे एहसास हुआ कि यह केवल divs के सीएसएस के कारण काम नहीं किया था और अब मुझे यह मिल गया है, इसलिए मैं तुम्हारा स्वीकार करूंगा –
खुशी है कि मैं मदद की है, किसी भी तरह – valepu
आपने वास्तव में किया, इस निर्देश को फिर से मुझे देखा सोचो "फिर से प्रयास करें " तो धन्यवाद!!! –