Jquery 如何重置封隔器实例并重新初始化
如何重置封隔器 如果我使用Jquery 如何重置封隔器实例并重新初始化,jquery,packery,Jquery,Packery,如何重置封隔器 如果我使用packery('destroy')它会重置结构,但在重新初始化它时,订单实例总是给出相同的索引号 我厌倦了重新初始化整个元素,但双重绑定使生活更加困难 var $slidesElem = $('ul.ordering-tool-list'), slidesHeight = $slidesElem.find('li').outerHeight(), slidesWidth = $slidesElem.find('li'
packery('destroy')
它会重置结构,但在重新初始化它时,订单实例总是给出相同的索引号
我厌倦了重新初始化整个元素,但双重绑定使生活更加困难
var $slidesElem = $('ul.ordering-tool-list'),
slidesHeight = $slidesElem.find('li').outerHeight(),
slidesWidth = $slidesElem.find('li').outerWidth();
if(typeof $scope.pckry !=='undefined'){
$scope.initAside.onlyDestroy();
}
//Packery Call
this.initialize =function(execute){
$scope.pckry = $slidesElem.packery({
'itemSelector':".handleMe",
'rowHeight': slidesHeight,
'columnWidth': slidesWidth
});
var itemElems = $scope.pckry.packery('getItemElements');
$scope.initialItem = itemElems;
for ( var i=0, len = itemElems.length; i < len; i++ ) {
// make element draggable with Draggabilly
var draggie = new Draggabilly( itemElems[i],{
axis: 'y',
containment:$slidesElem,
grid: [ 0, 24 ]
});
// bind Draggabilly events to Packery
$scope.pckry.packery('bindDraggabillyEvents', draggie);
}
$scope.pckry.packery('on', 'dragItemPositioned',this.orderItems);
$scope.pckry.packery('on', 'layoutComplete', this.orderItems );
}
//Set the orderof Items
this.orderItems = function() {
var $itemElems = $scope.pckry.packery('getItemElements');
for (var i=0; i< $itemElems.length; i++) {
var indexToPut = $($itemElems[i]).attr("tabindex");
$scope.itemPositioned[i] = indexToPut;
$scope.profileContent[indexToPut].id = i;
$($itemElems[i]).attr('data-module-index', i);
}
$scope.$apply();
};
//reset The Order
this.resetOrder = function(){
var $itemElems = $scope.initialItem;
for (var i=0; i< $itemElems.length; i++) {
$scope.itemPositioned[i] = $($itemElems[i]).attr("tabindex");
$($itemElems[i]).attr('data-module-index', i);
$scope.profileContent[i].id = i;
}
};
//Destroy Event for reset
this.destroy = function(){
//$scope.pckry.packery('destroy');
//$scope.pckry.packery();
//$scope.pckry = null;
//this.initialize(false);
this.resetOrder();
//this.initialize(false);
};
var$slidesElem=$('ul.ordering tool list'),
slidesHeight=$slidesElem.find('li').outerHeight(),
slidesWidth=$slidesElem.find('li').outerWidth();
if(typeof$scope.pckry!==“未定义”){
$scope.initAside.onlyDestroy();
}
//封隔器呼叫
this.initialize=函数(执行){
$scope.pckry=$slidesElem.packery({
'itemSelector':“.handleMe”,
“行高”:幻灯片大小,
“columnWidth”:slidesWidth
});
var itemElems=$scope.pckry.packery('getItemElements');
$scope.initialItem=itemElems;
对于(变量i=0,len=itemElems.length;i
找到使用“重新加载”的解决方案
$scope.pckry.packery('reloadItems');