1

我正在重写我的代码,允许用户在 iOS 上拖动 div 以使其更干净,我希望实现的更改之一是使用localstorage保存和检索每个 div 的位置。

jQuery:

$(".drag").each(function () {
    var drag = this;
    xPos = drag.offsetWidth / 2;
    yPos = drag.offsetHeight / 2;
    drag.addEventListener("touchmove", function() {
        event.preventDefault();
        $(this).css({
            "left" : event.targetTouches[0].pageX - xPos + "px", 
            "top" : event.targetTouches[0].pageY - yPos + "px",
            "z-index" : "101",
        });
        $("div").not(this).css("z-index", "100");
    });
});

之前,我使用 cookie 设置了位置:

$(window).unload(function () {
    $(".remember").each(function () {
        $.cookie(this.id, this.value, {
            expires: 365
        });
    });
    $(".draggable").each(function () {
        var a = $(this);
        $.cookie(this.id, a.css("top") + "_" + a.css("left"), {
            expires: 365
        });
        $.cookie("disp" + this.id, a.css("display"), {
            expires: 365
        });
    });
});

每个可拖动的 div 上面都有一个.draggable类,如果我想保存文本框的值,它上面有一个.remember类。

更新它是否值得/实用LocalStorage

4

1 回答 1

1

Localstorage 是比 cookie 更好的地方。因为您不会随每个请求向服务器发送额外的字节等等。请记住,cookie 的大多数问题仍然存在于向 localStorage 的过渡 - 来自多个选项卡和同一域的脚本可能会弄乱您存储的数据,但我假设它是您自己的站点,没有第三方包含,您应该担心。

于 2012-09-09T03:07:10.160 回答