我正在try 实现2个滑块,其中第二个滑块的值不能低于第一个滑块的值,但第二个滑块的值似乎卡在9.xx左右,当第一个滑块移动超过这个点的裁剪视频.这两个滑块显示在VidTrim.js中. 总体而言,它工作得很好,但我不明白为什么会发生这个错误,特别是在相同的值附近如此始终如一.任何帮助都将不胜感激.

example jsFiddle

VidTrim.js

function VidTrim() {
const useState = React.useState;
let end_slider_start = 0;

const [start_val, set_start_val] = useState(0);
const [end_val, set_end_val] = useState(0);

function onSlideChangeStart(event) {
  console.log(event.target.value);
  set_start_val(event.target.value);
  check_end_val(end_val);
  console.log("start: ", start_val);
  console.log("end: ", end_val);
  
}

function onSlideChangeEnd(event) {
  check_end_val(event.target.value);
}

function check_end_val(val) {
  if (val < start_val) {
    set_end_val(start_val);
  }
}

return (
<div className="VidTrim">
  <div>

    <div id="Sliders">
        <Slider value={start_val} title={"Start Trim"} changeSlide={onSlideChangeStart}></Slider>
        
        <Slider value={end_val} min={start_val} disabled={false} title={"End Trim"} changeSlide={onSlideChangeEnd}></Slider>
    </div>
  </div>
</div>);}

Sliders.js 函数滑块(props ){

function onChange(event) {
    this.props.changeSlide(event);
}

return (
    
<div className="Slider" style={{textAlign: 'center'}}>

    <h1 className='sliderTitle'>{props.title}</h1>
    <p >{props.value} seconds</p>
    <input value={props.value} step="0.01" min={0} max={100} type="range" onInput={props.changeSlide} style={{width: "100%"}} ></input>
</div>);}

推荐答案

可以按如下方式约束第二个滑块:

const [start, setStart] = useState(0);
const [end, setEnd] = useState(0);

function onStartChange(val) {
  setStart(val);
  setEnd(Math.max(end, val));
}

function onEndChange(val) {
  setEnd(Math.max(val, start));
}

Working example

Javascript相关问答推荐

TestCafe预计文本等于以下内容之一

错误:(0,react__WEBPACK_IMPORTED_MODULE_1__.useSYS State)不是函数或其返回值不可迭代

Toast函数找不到其dis

Express.js:以块形式发送响应

我想做一个程序,计算字符串中所有单词的数量

以逗号分隔的列表来数组并填充收件箱列表

为什么在react js中没有调用加载器函数?

通过实现regex逻辑自定义数据表搜索

D3多线图显示1线而不是3线

我无法在NightWatch.js测试中获取完整的Chrome浏览器控制台日志(log)

如何使用侧边滚动按钮具体滚动每4个格?

在JavaScript中声明自定义内置元素不起作用

在WordPress中使用带有WPCode的Java代码片段时出现意外令牌错误

当id匹配时对属性值求和并使用JavaScript返回结果

将数组扩展到对象中

MarkLogic-earch.suggest不返回任何值

如何限制显示在分页中的可见页面的数量

在JS中动态创建对象,并将其追加到HTML表中

与svg相反;S getPointAtLength(D)-我想要getLengthAtPoint(x,y)

如何使用[ModelJSON,ArrayBuffer]调用tf.loadGraphModelSync