0

这可能是一个非常基本的问题,因为我对 jQuery 很陌生,所以我不知道这一点。

我有一个广泛的网站,所有内容都是水平布局的。我没有在底部使用滚动条,而是在任一侧都有一个按钮,这样当您单击它时,它会在站点中向左或向右移动。

我在这里有 jQuery:

$(".timeline_page a.flex-prev").click(function(){
$(".timeline_page_wrapper").scrollLeft(Math.max(0, $(".timeline_page_wrapper").scrollLeft() - 500));
});

$(".timeline_page a.flex-next").click(function(){
$(".timeline_page_wrapper").scrollLeft(Math.min(1200, $(".timeline_page_wrapper").scrollLeft() + 500));
});

到目前为止,一切都很好。但我想为它制作动画,但我不知道该怎么做。我尝试的一切都会导致它无法运行。

在相关说明中,有没有办法让我知道用户何时位于右侧或左侧的末端,以便我可以更改按钮状态?

编辑:

好的,现在我有了以下代码并设法对其进行动画处理。但是,如果达到某个点,我在添加或删除一个类时做错了什么?

$(".timeline_page a.flex-prev").click(function(){
$(".timeline_page_wrapper").animate({
    scrollLeft: Math.max(0, $(".timeline_page_wrapper").scrollLeft() - 500)}, 650);
});

$(".timeline_page a.flex-next").click(function(){
$(".timeline_page_wrapper").animate({
    scrollLeft: Math.min(4080, $(".timeline_page_wrapper").scrollLeft() + 500)}, 650);
});

if ($(".timeline_page_wrapper").scrollLeft() === 0 {
    $(".timeline_page a.flex-prev").addClass("flex-disabled");
} else {
    $(".timeline_page a.flex-prev").removeClass("flex-disabled");
}
);

});
4

2 回答 2

0

我以前用过它,它有效!在此处查看演示教程

于 2012-10-05T17:18:11.417 回答
0

看一下 JQuery Animate() 方法。尝试以视图/页面宽度的增量为位置设置动画。 http://api.jquery.com/animate/

您可以通过检查 scrollLeft() 中的 timeline_page_wrapper 并将其与整个内容宽度进行比较来告诉用户已结束。Scrollleft 还应该为您提供要显示的剩余数量。一个小算术会告诉你你是否已经到了页面的末尾。 http://api.jquery.com/scrollLeft/

希望这可以帮助

于 2012-10-05T18:07:41.490 回答