Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 范围输入最小值、最大值大整数数组排序获取此错误无法读取未定义的属性“replace”_Javascript_Jquery_Html_Css_Range - Fatal编程技术网

Javascript 范围输入最小值、最大值大整数数组排序获取此错误无法读取未定义的属性“replace”

Javascript 范围输入最小值、最大值大整数数组排序获取此错误无法读取未定义的属性“replace”,javascript,jquery,html,css,range,Javascript,Jquery,Html,Css,Range,我正在处理输入类型的范围滑块,我正在尝试缩放幻灯片上的图像移动到这里,当我使用min='0'和max='100'时,效果很好 slider.oninput=函数{ first.innerHTML=this.value*200; } var imageScale=新阵列; 图像比例=[{ “转换”:“缩放0.7” }, { “转换”:“缩放0.9” }, { “转换”:“缩放1.1” }, { “转换”:“缩放1.3” }, { “转换”:“缩放1.8” }, { “转换”:“缩放0.25” }

我正在处理输入类型的范围滑块,我正在尝试缩放幻灯片上的图像移动到这里,当我使用min='0'和max='100'时,效果很好

slider.oninput=函数{ first.innerHTML=this.value*200; } var imageScale=新阵列; 图像比例=[{ “转换”:“缩放0.7” }, { “转换”:“缩放0.9” }, { “转换”:“缩放1.1” }, { “转换”:“缩放1.3” }, { “转换”:“缩放1.8” }, { “转换”:“缩放0.25” }]; $document.on'input change'、'slider',函数{//侦听slider更改 var v=$this.val;//获取滑块val $img.cssimageScale[v]; }; img{ 宽度:60px; 高度:100px; } 单位
听起来您需要做的就是首先对输入中的值调用Math.max,这样您就可以从数组中提取滑块中的索引或数组中的最大索引。这将确保在v变量中获得一个对象,并且可以设置css

例如,imageScale有6个项目,如果用户滑动到值3,则将CSS设置为索引3处的对象。如果用户滑动到值20、100或10000,则超出了数组的范围,因此您可以将CSS设置为数组中最高索引处的对象,即[5]:

slider.oninput=函数{ first.innerHTML=this.value*200; } var imageScale=[{ “转换”:“缩放0.7” }, { “转换”:“缩放0.9” }, { “转换”:“缩放1.1” }, { “转换”:“缩放1.3” }, { “转换”:“缩放1.8” }, { “转换”:“缩放0.25” }]; $document.on'input change'、'slider',函数{//侦听slider更改 var v=Math.min$this.val,imageScale.length-1;//获取滑块值 $img.cssimageScale[v]; }; img{ 宽度:60px; 高度:100px; } 单位
数组中只有6个元素。当有人将滑块移动到值0到6之外时,您希望得到什么样的输出?@CertainPerformance only 0到6 sort。当最小值=0时,它工作;当我更改为最小值=3412最大值=341214不工作时,它的最大值=100。因为这个。瓦尔;在大整数中。它不适用于最小值=0和最大值=100-请参阅您的代码段,会引发许多错误。@CertainPerformance在jquery中遇到此错误。min.js:2 Uncaught TypeError:无法读取未定义的属性“replace”,当最小值、最大值为大整数值时。是的,它还会在上述代码段中使用小整数值引发此错误。它不会抛出的唯一值是0到6。当输入0-6之外的值时,您希望看到什么?不完全是-前5个CSS对象确实会显示,请尝试将滑块移到左侧限制附近。由于输入范围为0-100,但数组元素仅为0-5,因此您必须非常靠近左侧才能看到更改,否则您只能看到数组中的最后一个元素-这是您想要的,正如您在评论中所说,当我直接更改为min=3412 max=341214时,最后一个元素即将出现。正如预期的那样,因为范围远远超出了数组的值-您刚才说的就是您想要的。您说“是,仅静态”,无论我在数组中写入的值是什么,这些值都是唯一的-事实上,当输入范围远高于数组的范围时,生成的图像是静态的。@CertainPerformance我是说数组中的静态6个值都必须出现。我很感谢你的努力。但是如果滑块值高于数组的范围,你说你希望渲染值成为数组末尾的项目:我只想将图像缩放到6个移动,然后停止。对于如此大的输入范围,因为它远远超出了数组的范围,所以将显示的唯一结果将是索引5处的值。它似乎实现了你的要求