Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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
Jquery 创建增量按钮,当边距大于2800像素时关闭_Jquery - Fatal编程技术网

Jquery 创建增量按钮,当边距大于2800像素时关闭

Jquery 创建增量按钮,当边距大于2800像素时关闭,jquery,Jquery,我在做一个滑块,我想弄清楚我是如何专门编程一个按钮的 我希望它在点击时以700像素的增量向左移动,但是一旦marginLeft大于2800像素,它就不会在点击时做任何事情 现在我有一个部件,它以增量移动容器,但我不确定如何使在“slider_container”的边距大于2800 px后它什么也不做的部件 $("#left").click(function () { $("#slider_container").animate ({ marginLeft: "+=700p

我在做一个滑块,我想弄清楚我是如何专门编程一个按钮的

我希望它在点击时以700像素的增量向左移动,但是一旦marginLeft大于2800像素,它就不会在点击时做任何事情

现在我有一个部件,它以增量移动容器,但我不确定如何使在“slider_container”的边距大于2800 px后它什么也不做的部件

$("#left").click(function () {
    $("#slider_container").animate ({
        marginLeft: "+=700px"
    },450 );
});
我想知道为什么以下方法不起作用:

if ($("#slider_container").css("marginLeft") >= 2800) {
      $("#right").click(function () {
    $("#slider_container").animate ({
        marginLeft: "-=0px"
    },450 );
});  
}
else
{
    $("#right").click(function () {
    $("#slider_container").animate ({
        marginLeft: "-=700px"
    },450 );
});  

}
试试这个:

$("#left").click(function () {
    var margin = parseInt($("#slider_container").css("marginLeft")),
        move = Math.min(700, 2800 - margin);
    if (move > 0) {
        $("#slider_container").animate ({
            marginLeft: "+=" + move + "px"
        },450 );
    }
});

在刚才添加到问题的代码中,需要将单击事件的
函数
中的
if
。另外,
将动画设置为“-=0px”
,这有什么意义吗?

好的,我已经开始工作了,下面是我提出的解决方案:

$("#right").click(function () {


if (parseInt($("#slider_container").css("marginLeft")) < -2100) {
    $("#slider_container").animate ({
        marginLeft: -2800
    },450 ); 
}
else
{
    $("#slider_container").animate ({
        marginLeft: "-=700px"
    },450 ); 

}
});

$("#left").click(function () {


if (parseInt($("#slider_container").css("marginLeft")) > -699) {
    $("#slider_container").animate ({
        marginLeft: 0
    },450 ); 
}
else
{
    $("#slider_container").animate ({
        marginLeft: "+=700px"
    },450 ); 

}
});
$(“#右”)。单击(函数(){
if(parseInt($(“#slider_container”).css(“marginLeft”)<-2100){
$(“#滑块_容器”)。设置动画({
边际收益:-2800
},450 ); 
}
其他的
{
$(“#滑块_容器”)。设置动画({
边缘左侧:“-=700px”
},450 ); 
}
});
$(“#左”)。单击(函数(){
if(parseInt($(“#slider_container”).css(“marginLeft”)>-699){
$(“#滑块_容器”)。设置动画({
边缘左侧:0
},450 ); 
}
其他的
{
$(“#滑块_容器”)。设置动画({
边缘左侧:“+=700px”
},450 ); 
}
});

hmmm最后在脚本中破坏了所有内容hmm因此似乎不起作用,但没有破坏任何内容。我可能真的说错了。右键,一旦slider_container大于2800像素,则不应在边距上添加任何内容,当slider_容器的marginleft小于700时,左键不应再被移除。在小提琴中,单击任意拇指指甲以到达滑块。只需更改
Math.max的
Math.min
2800-margin
margin
。。这不是一个复杂的逻辑问题,我只是想知道为什么这不起作用