背景:我目前在我的.js文件中的网站上有一个工作 jQuery滑块
$( "#slider-range-min" ).slider({
range: "min",
value: 100,
min: 1,
max: 100,
});
我需要能够有时将“值”从100覆盖到某个其他值。所以我尝试了这个:
$( "#slider-range-min" ).slider({
range: "min",
value: _Slider_Value,
min: 1,
max: 100,
});
并在我的html页面上定义了这个
<script type="text/javascript">
var _Slider_Value = 50;
</script>
哪个也有效! 除了然后在所有其他页面上我收到一条javascript错误,指出“_Slider_Value未定义”。我宁愿不必复制和放弃如果我可以避免它,请将值粘贴到我的所有页面上......看起来不是一个“好”的方法吗?
问题:有更好的方法吗 - 所以我可以为我的滑块设置默认值,但偶尔会在需要时覆盖它?
编辑:另一种说法:除非我在html页面中另有说明,否则如何将我的滑块默认为“100”?
答案 0 :(得分:2)
在您的html中span
放置div
容器中有滑块的位置(id="slider-range-min"
)
<span class="min">100</span>
在滑块功能中读取此值
$( "#slider-range-min" ).slider({
range: "min",
value: $(this).find('.min').text();,
min: 1,
max: 100,
});
无论何时需要在页面上更新值,如果需要,动态更改范围值,否则它将采用默认值,例如。 100这里。
答案 1 :(得分:2)
在每个页面中包含的js文件中定义
答案 2 :(得分:2)
如果您尝试最小化变量,可以随时检查
if (_Slider_Value != undefined) {
//your code here
}
或
(_Slider_Value != undefined) ? _Slider_Value : 100;
所以你的最终代码可以是
$( "#slider-range-min" ).slider({
range: "min",
value: (_Slider_Value != undefined) ? _Slider_Value : 100,
min: 1,
max: 100,
});
如果_Slider_Value
中没有值,则默认为100答案 3 :(得分:1)
您可以使用此字符串覆盖滑块的选项。 $('#slider-range-min')。slider({value:50});
答案 4 :(得分:1)
全局声明您的变量以在网页中的任何位置访问它。这是tutorial link。
尝试声明不带var关键字的变量以使其成为全局
<script type="text/javascript">
_Slider_Value = 50;
</script>
如果这不起作用,请尝试将变量绑定到窗口对象
var myValue;
function setValue()
{
myValue = "test";
}
function getValue()
{
alert(window.myValue); // yup, it's "test"
}
这里是完整的explanation,我已经举例说明。
希望它有效(不是实际尝试)