Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.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 切换开关按钮的问题_Javascript_Jquery - Fatal编程技术网

Javascript 切换开关按钮的问题

Javascript 切换开关按钮的问题,javascript,jquery,Javascript,Jquery,我正在尝试用下面的代码创建一个自定义交换机系统 #left和#right功能都很好,但是我在#sw上遇到了一些问题,应该切换到左侧或右侧。如果用户选中,则单击此按钮必须显示“左”和“切换”按钮等 <div class="switchbox"> <div class="btn-group switch"> <button type="button" class="btn btn-default" id="left">Left</b

我正在尝试用下面的代码创建一个自定义交换机系统

#left
#right
功能都很好,但是我在
#sw
上遇到了一些问题,应该切换到左侧或右侧。如果用户选中,则单击此按钮必须显示“左”和“切换”按钮等

 <div class="switchbox">
    <div class="btn-group switch">
        <button type="button" class="btn btn-default" id="left">Left</button>
        <button type="button" class="btn btn-default" id="sw">Switch</button>
        <button type="button" class="btn btn-default" id="right">Right</button>
    </div>
</div>  
您能告诉我如何修复此问题吗?

请检查此更新


我添加了一个额外的变量
toggle
来存储当前的切换位置。可以吗

谢谢Manun,我还需要5分钟来接受您的解决方案。但同时你能告诉我如何获取所选“左”或“右”按钮的ID或值吗?在哪个功能中获取ID?我不明白你的意思。我的意思是,如果用户点击左边或右边应该不难获得点击的btn的id,但切换按钮呢?如何知道选择了哪个开关,如是或否?实际上
toggle
指向按钮。如果其值为1,则按钮为左,如果为0,则按钮为右。您可以使用
toggle
变量找到该按钮。知道了?
var scrollWidth = 49;
var scrollWidthsw = 49;
var pos = 0;
$("p").html(pos);
$("#left").on("click", function () {
    $(".switch").animate({
        left: '-=' + scrollWidth
    }, 300);
    pos = pos - scrollWidth;
    $("p").html(pos);
});
$("#right").on("click", function () {
    $(".switch").animate({
        left: '+=' + scrollWidth
    }, 300);
    pos = pos + scrollWidth;
    $("p").html(pos);

});

$("#sw").on("click", function () {

    if (pos == 0) {
        pos = pos + scrollWidth;
        $(".switch").animate({
            left: '-=' + scrollWidthsw
        }, 300);
    } else {
        $(".switch").animate({
            left: '+=' + scrollWidthsw
        }, 300);
    }
});