设置 jQuery 滑块的默认值,并在需要时覆盖

Set default value for jQuery slider and override when needed

本文关键字:覆盖 jQuery 默认值 设置      更新时间:2023-09-26

背景:我目前在我的网站上有一个工作的jQuery滑块,在我的.js文件中

$( "#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"。如果可以避免的话,我宁愿不必将值复制并粘贴到我的所有页面上......似乎不是一个"好"的方法?

问题:有没有更好的方法来执行此操作 - 这样我就可以为我的滑块设置默认值,但偶尔在需要时覆盖它?

编辑:另一种说法:如何使滑块默认为"100",除非我在html页面中另有说明?

在包含在

每个页面中的js文件中定义它

在你的

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。

如果你试图最小化变量,你可以随时检查

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

您可以使用此字符串覆盖滑块的选项。 $('#slider-range-min'(.slider({value: 50}(;

全局声明变量以在网页中的任何位置访问它。 这是教程链接。

尝试声明没有 var 关键字的变量以使其全局

<script type="text/javascript">  
    _Slider_Value = 50;
</script>

如果这不起作用,请尝试将变量绑定到窗口对象

var myValue;
function setValue()
{
    myValue = "test";
}
function getValue()
{
    alert(window.myValue); // yup, it's "test"
}

这是完整的解释,我从中给出了例子。

希望它有效(没有实际尝试(