gpt4 book ai didi

jquery - 在 localStorage 中存储可排序对象

转载 作者:行者123 更新时间:2023-12-01 04:13:44 31 4
gpt4 key购买 nike

http://jsfiddle.net/2H2rx/

无法保留对可排序列表中最后一项的更改。

$( "#sortable" ).sortable();
$( "#sortable" ).on("sortupdate",function( event, ui ) {
var sorted = $( this ).sortable( "serialize");
console.log(sorted);
localStorage.setItem('sorted', sorted) ;

});

if(localStorage.getItem("sorted") !== null){
var arrValuesForOrder = localStorage.getItem('sorted').substring(6).split("&div[]=");

var $ul = $("#sortable");
$items = $("#sortable").children();

// loop backwards so you can just prepend elements in the list
// instead of trying to place them at a specific position
for (var i = arrValuesForOrder[arrValuesForOrder.length - 1]; i >= 0; i--) {
// index is zero-based to you have to remove one from the values in your array
$ul.prepend( $items.get((arrValuesForOrder[i] - 1)));
}
}

$( "#sortable" ).disableSelection();

我正在尝试编写一种在本地存储中存储可排序内容的方法。我遇到了一个小麻烦,似乎取决于最后一项,并且在几次之后它会间歇性地发生。有什么东西破坏了它吗?几次后它不会加载对最后一项的更改,或者会任意重新排序。我不知道。要复制,您必须加载链接,重新排序几次,运行几次,再重新排序一些。它最终不会保留对最后一项的更改,至少在 Chrome 27.0.1453.110 m 中是这样。尚未检查其他浏览器。

我看到很多其他问题提出与此类似的问题,但我现在实际上已经有了一个半工作的解决方案,只是在调试时遇到了麻烦。

编辑:当 #1、2 或 3 位于最终位置时,似乎会发生错误。也许不是规则,但这对我来说是复制它的更简单的方法。

最佳答案

您的 for 循环使用起始索引的值之一,而不是数组的实际长度,正确的 for 循环 header 应如下所示。

for (var i = arrValuesForOrder.length - 1; i >= 0; i--) {

关于jquery - 在 localStorage 中存储可排序对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16985775/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com