【问题标题】:Replace Element After 3 Clicks With Cookie Logging [.load]使用 Cookie 记录 [.load] 单击 3 次后替换元素
【发布时间】:2020-01-16 18:24:20
【问题描述】:

我编写了简单的 jquery 代码,在单击 3 次后用 urls 代码替换特定元素。超过 3 次点击后,它会用 urls 代码替换元素。使用 .load("")。但是之后,我刷新页面元素返回到其默认状态,未替换。我怎么可能让网络服务器记住更改。无论是在数据库中还是在 Cookie、sessionStorage、localStorage 中。

var count = 0;

$(document).ready( function () {
    $("#id-2").on("click", function(){
    count++;
    if(count == 3)
        $("#id-2").load("yoinkexecutor2.html");
    });
});

所有,我想要的是在单击它 3 次后保持替换为 urls 代码的元素,并且在刷新页面后不改变回来。

【问题讨论】:

    标签: javascript jquery html replace element


    【解决方案1】:

    您可以使用 localStorage 或 Cookie。

    var count = parseInt(localStorage.getItem("count"), 10) || 0;
    function loadMyPage() {
        if (count >= 3)
            $("#id-2").load("yoinkexecutor2.html");
        }
    }
    
    $(document).ready( function () {
        loadMyPage();
        $("#id-2").on("click", function() {
            localStorage.setItem("count", count += 1);
            loadMyPage();
        });
    });
    

    记住 localStorage(和 Cookies)只将值存储为字符串,因此是 parseInt。 此外,它会在后续点击后继续加载您的 .html 页面,您可能需要删除点击处理程序,或删除 #id-2 元素。

    【讨论】:

    • 感谢您的帮助,我发现有趣的值存储在字符串中,并且认为您也为此使用了 stringify,不胜感激。
    • 如果要存储对象或数组,那么是的,您需要先将值字符串化。
    猜你喜欢
    • 2020-01-06
    • 2020-01-15
    • 2020-01-09
    • 1970-01-01
    • 2020-01-13
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 2017-09-09
    相关资源
    最近更新 更多