Javascript浏览器cookies taht会记住转动里程表的值吗?

Javascript浏览器cookies taht会记住转动里程表的值吗?,javascript,jquery,Javascript,Jquery,如何编写浏览器cookies,以记住转动里程表的值…以便用户每次再次访问站点时,里程表将恢复到用户离开站点时里程表的值 这是我的代码: Current value(当前值)按钮输出当前值,在写入这些cookie时,此值可能很有用。请帮忙,我需要这个 //<![CDATA[ var n = 0; var myOdometer; function startcounting () { var div = docum

如何编写浏览器cookies,以记住转动里程表的值…以便用户每次再次访问站点时,里程表将恢复到用户离开站点时里程表的值

这是我的代码:

Current value(当前值)按钮输出当前值,在写入这些cookie时,此值可能很有用。请帮忙,我需要这个

    //<![CDATA[
        var n = 0;
        var myOdometer;
        function startcounting () {
            var div = document.getElementById("odometerDiv");
            myOdometer = new Odometer(div, {value: n, digits: 6, tenths: true});
    myOdometer.set(0);        
            update();
        }

        function update () {
            n=n+0.01
            myOdometer.set(n);
            setTimeout(update, 200);
        }
    //]]>

startcounting();
//
开始计算();

我的更改有4个重要部分:

1) 使用Object.assign,而不是设置所有属性,然后通过选项循环覆盖刚刚设置的内容

Object.assign(this, {
  digits: 6,
  tenths: 0,
  digitHeight: 40,
  digitPadding: 0,
  digitWidth: 30,
  bustedness: 2,
  fontStyle: "font-family: Courier New, Courier, monospace; font-weight: 900;",
  value: -1,
}, options)
2) 向里程表添加保存功能

var save = function() {
    localStorage.setItem('myOdometer', JSON.stringify(this))
}.bind(this)
3) 添加加载保存数据或创建新里程表的功能

Odometer.loadOrCreate = function(div, defaults){
  var saved = localStorage.getItem('myOdometer')
  console.log(saved)
  return new Odometer(div, (saved ? JSON.parse(saved) : defaults))
}
4) 仅返回您将在里程表功能之外使用的功能。在javascript中没有私有函数。但是,您可以通过闭包实现隐私(在这种情况下,返回的对象仅具有所需的功能)

最后一个难题是决定何时保存用户的位置。你不想通过节省每毫秒来做得太多。我添加到您的代码段中的是一个卸载侦听器,以便在选项卡关闭之前保存更改

myOdometer = Odometer.loadOrCreate(div, {
  value: n,
  digits: 6,
  tenths: true
});
window.addEventListener('unload', myOdometer.save)

您尝试过JSON字符串吗?您最好使用localStorage而不是JSON字符串cookies@TheRealMrCrowley由于我不擅长javascript,我发现了以下localStorage代码。您能帮我将该脚本应用到我的代码中吗?当然,给我一分钟时间整理一下好的,我仍然在这里:)谢谢你的努力,但是它应该在每次刷新JSFIDLE后记住数字吗?因为当我重置JSFIDLE时,它会重置回0…这是因为您的代码使用“n”而不是递增
this.value
。我已经更新了一个完整的版本我能问你最后一件事吗@TheRealMrCrowley@ania_piszko当然,那是什么?
myOdometer = Odometer.loadOrCreate(div, {
  value: n,
  digits: 6,
  tenths: true
});
window.addEventListener('unload', myOdometer.save)