Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.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 在两个特定像素点之间滚动_Jquery_Css_Navigation - Fatal编程技术网

Jquery 在两个特定像素点之间滚动

Jquery 在两个特定像素点之间滚动,jquery,css,navigation,Jquery,Css,Navigation,这是我的代码: $(document).ready(function(){ $(".right").click(function () { $("p").animate({right: "-=64px"}); }); $(".left").click(function(){ $("p").animate({right: "+=64"}); }); 我如何使两个特定的像素点,我的图标只是在这些点之间移动 这是我的 我希望我的图标在表

这是我的代码:

$(document).ready(function(){
    $(".right").click(function () {
            $("p").animate({right: "-=64px"});
    });
$(".left").click(function(){
        $("p").animate({right: "+=64"});
    });
我如何使两个特定的像素点,我的图标只是在这些点之间移动

这是我的

我希望我的图标在表格中导航,每当它们到达灰色的末尾时,停止并不再移动。只需在另一个按钮上反向移动即可

是否可以使用.css(“右”)? 如果是,请指导我如何做


谢谢。

我给你做了一把新小提琴

关键是如果你想让某个东西在两个点之间移动,你不应该使用“-=64px”或“+=64px”

只需使用一个静态点

这就意味着你应该使用类似于:

$(document).ready(function(){
$(".right").click(function () {
        $("p").animate({right: "0"});
});
$(".left").click(function(){
    $("p").animate({right: "320px"});
});
我在这里创建了一个,你可以检查一下,这是小提琴:

js

var movementFactor = 30;

var minWidth = $('#animSubject').width();
var maxWidth = $('#animArea').width();

$("#right").click(function () {
    var subWidth = $('#animSubject').width();
    if (maxWidth > (subWidth + movementFactor)) {
        $("#animSubject").animate({
            width: "+=" + movementFactor + "px"
        });
    } else if (maxWidth > subWidth) {
        $("#animSubject").animate({
            width:(maxWidth) + "px"
        });
    }

});
$("#left").click(function () {
    var subWidth = $('#animSubject').width();
    if (minWidth < (subWidth - movementFactor)) {
        $("#animSubject").animate({
            width: "-=" + movementFactor + "px"
        });
    } else if (minWidth < subWidth) {
        $("#animSubject").animate({
            width:(minWidth) + "px"
        });
    }
});
var移动因子=30;
var minWidth=$('#animSubject').width();
var maxWidth=$('#animArea').width();
$(“#右”)。单击(函数(){
var subWidth=$('#animSubject').width();
如果(最大宽度>(子宽度+移动因子)){
$(“#animpsubject”)。设置动画({
宽度:“++=”+移动因子+“px”
});
}else if(最大宽度>子宽度){
$(“#animpsubject”)。设置动画({
宽度:(最大宽度)+“px”
});
}
});
$(“#左”)。单击(函数(){
var subWidth=$('#animSubject').width();
if(最小宽度<(子宽度-移动系数)){
$(“#animpsubject”)。设置动画({
宽度:“-=”+移动因子+“px”
});
}else if(最小宽度<子宽度){
$(“#animpsubject”)。设置动画({
宽度:(最小宽度)+“px”
});
}
});

您可以改变
movementFactor
,只需单击一下即可按所需距离移动图像。

像这样吗?不。如果它到达那条灰线的末端,不要再移到那一边,在这种情况下,当我在任何按钮上双击时,图标会移到灰线之外,但它有点不同。但是我想通过任何单击移动例如64px,直到到达灰线的末端。任何时候它到达终点线,不要再移动到那一边。还在寻找这个解决方案吗?只需添加一个if语句,说:if($(p).css(“right”)!=“320px”){move animation}(这是从我的头顶开始的,我没有测试过它。我看到了。但是它只使用一个图标,如果我再添加3个图标,它就不起作用了。我希望它可以通过任何点击移动例如50px,直到到达灰线的末端。你可以计算右端,即偏移()。左+宽()。然后只应用逻辑计算if(img.offset.left