javascript - 无法在 html 中获取范围 slider 的正确值

标签 javascript html css

我想将范围 slider 的值存储在本地存储中。

.html

<div class="seekbar_div">
                    <input class="seekbar" id="#light_seek" type="range" min="0" max="100" value="0" onchange="rangevalue.value=value">
            </div>

.js

var sliderVal = document.getElementById("#light_seek").value;
    alert(sliderVal);
               localStorage.setItem("light_seek", sliderVal);

即使我将 slider 更改为 0 以外的其他位置,警报仍显示为零

最佳答案

jsBin demo

id="#light_seek" 这里有一个额外的#

HTML:

<div class="seekbar_div">
  <input class="seekbar" id="light_seek" type="range" min="0" max="100" value="0">
</div>

JS:

var lightSeek = document.getElementById("light_seek");
var sliderVal = lightSeek.value;

console.log(sliderVal);

lightSeek.addEventListener("change", function(){  // event listener
   sliderVal = this.value;                        // modify var
   localStorage.setItem("light_seek", sliderVal); // Store to LS
   console.log( sliderVal );                      // test
}, false); 

// whenever you want to grab your value back from LS do:
// sliderVal = localStorage.getItem("light_seek");

此外,如您所见,我删除了所有 HTML 内联 JS,因为这是一种不好的做法,因为它很难维护。始终尝试让您的 HTML 标记远离 JS。

关于javascript - 无法在 html 中获取范围 slider 的正确值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27341654/

相关文章:

jquery - chrome 上的#hashtag 导航故障 - 正确跳转到某些部分,但不是全部

javascript - 为什么 Lodash _.find 方法返回未定义?

html - 带有 CSS 和 HTML 的多级菜单?

html - 仅当跨度位于 <a> 中且类不为 "folder"时,如何才能使我的 CSS 工作?

html - 在 CSS 中,如何使一个元素相对于包含元素居中,而不考虑其他同级元素?

html - wordpress 响应已损坏

javascript - 使用 javascript bundler 有哪些优点?

javascript - 提前返回和回调: return the callback?

javascript - 不理解 Node.js 示例中一级函数和 csv 模块事件的用法

html - Bootstrap 侧导航栏问题