Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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 jQuery向左设置动画将退出屏幕_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript jQuery向左设置动画将退出屏幕

Javascript jQuery向左设置动画将退出屏幕,javascript,jquery,html,css,Javascript,Jquery,Html,Css,使用下面的函数,我可以在左侧设置一个div的动画,但问题是,div超出了屏幕区域。我是否可以将#mydiv保留在#容器的左侧?如果#mydiv已经在左侧,那么它应该什么也不做 $('.left').click(function() { $('#myDiv').animate({ left: '-=30' }, 400, function() { // callBack }); HTML: <

使用下面的函数,我可以在左侧设置一个div的动画,但问题是,div超出了屏幕区域。我是否可以将
#mydiv
保留在
#容器
的左侧?如果
#mydiv
已经在左侧,那么它应该什么也不做

 $('.left').click(function() {
        $('#myDiv').animate({
            left: '-=30'
            }, 400, function() {
            // callBack
    });
HTML:

<div id="container">
        <a class="left" href="#">Left</a>
    </div>


您可以尝试
左边距:-30px取而代之。

您可以尝试
左边距:-30px

要限制容器的面积,您可以尝试:

$('.left').click(function() {
    if($('#myDiv').offset().left != 0){ //could be >= 0
        $('#myDiv').animate({
            marginLeft: '-=30'
            }, 400);
    }else{
        console.log('left - 0');
    }
});
CSS:

HTML:



要限制容器的面积,您可以尝试:

$('.left').click(function() {
    if($('#myDiv').offset().left != 0){ //could be >= 0
        $('#myDiv').animate({
            marginLeft: '-=30'
            }, 400);
    }else{
        console.log('left - 0');
    }
});
CSS:

HTML:



为了获得此信息,您需要验证要移动的div是否至少位于
容器
左侧的
30px

$('.left').click(function() {
if (parseInt($('#myDiv').css('left')) >= 30) {     
    $('#myDiv').animate({
        left: '-=30'
        }, 400, function() {
        // callBack
    });

     }
 });
例如:

如果您的
#容器
将位于身体左侧,则
边缘
将不会停止并超出
#容器
分区


这里的示例:

为了获得此结果,您需要验证要移动的div是否至少位于
左侧
#container
30px

$('.left').click(function() {
if (parseInt($('#myDiv').css('left')) >= 30) {     
    $('#myDiv').animate({
        left: '-=30'
        }, 400, function() {
        // callBack
    });

     }
 });
例如:

如果您的
#容器
将位于身体左侧,则
边缘
将不会停止并超出
#容器
分区


这里的例子:

@user1355300小提琴似乎适合我,因为边距是30的倍数,如果不是,你可以在偏移量中尝试>=0。@user1355300小提琴似乎适合我,因为边距是30的倍数,如果不是,你可以在偏移量中尝试>=0。谢谢,你的回答很有帮助,但我正在尝试添加另一个链接以向右滚动,但它不起作用。你能看看这个吗:这是你想要得到的原始代码。它可以做到这一点,但需要大量的重构。谢谢,你的回答很有帮助,但我正在尝试添加另一个链接以向右滚动,但它不起作用。你能看看这个吗:这是你想要得到的原始代码。它完成了这项工作,但需要大量重构。