【发布时间】:2015-01-05 11:08:13
【问题描述】:
我正在尝试使用滑块在我的 HTML 布局中为相关列的宽度设置动画。
在这段代码中,一切都很好,在这里我得到了幻灯片上另一列的新价值。
var item.thisWidth; // current width of edited column
var item.prevCellWidth; // current width of previus/last column
fdd
if(slider.value > item.thisWidth){
var prevNewWidth = item.prevCellWidth - (slider.value-item.thisWidth);
$('#r'+item.thisRowId+'s'+item.prevCellRowOrder+'').css('width', prevNewWidth + '%');
}
但是在滑动计算之后发生了一些奇怪的事情。创造的价值是成千上万。 需要记住,滑块的最小值/最大值是从 0-100
“滑块值”
if(slider.value < item.thisWidth){
var prevNewWidth = item.prevCellWidth + (item.thisWidth - slider.value);
$('#r'+item.thisRowId+'s'+item.prevCellRowOrder+'').css('width', prevNewWidth + '%');
}
我已尝试检查所有传递给计算的值,它们显示正常。
alert('oldWidth'+item.thisWidth+'sliderWidth'+slider.value+'previuscell'+item.prevCellWidth+'');
但是当减小滑块时,我得到了这些错误的结果
e.g. 30 + (40 - 10) = 400000; ??
更新:
使用@rogelio 的建议解决了这个问题 - 将字符串解析为整数:
var integer = parseInt(string);
谢谢@rogelio!
【问题讨论】:
-
slider.value是整数吗?为什么将其与字符串进行比较?你试过parseInt()吗? -
rogelio -> 谢谢你修复它:)
-
更多解释见我的回答
标签: javascript jquery css html slider