首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery使用两个按钮向上和向下滚动div

问jQuery使用两个按钮向上和向下滚动div
EN

Stack Overflow用户
提问于 2011-12-01 00:06:26
回答 4查看 18.4K关注 0票数 4

我有一组简单的两个按钮,悬停时会使div上下移动,以模拟滚动效果:

代码语言:javascript
复制
$("#down").hover(function () {

    $('.scroll').animate({ "marginTop": "-=50px" }, "fast");

});

$("#up").hover(function () {

    $('.scroll').animate({ "marginTop": "+=50px" }, "fast");

});

然而,我有两个问题:

1.)我需要它在到达终点时停止,然后隐藏按钮,这样他们就知道他们已经到达终点了

2.)它需要在用户鼠标悬停时不断滚动,目前它只在鼠标悬停时滚动一次,然后在鼠标离开时再次运行。

3.)如果内容不超过父元素高度,则隐藏这两个按钮,因为我们不需要滚动它。

有人能帮上忙吗?

我在想,也许1可以通过找出滚动面板的高度并判断其相对于父元素的偏移量来解决,父元素持有滚动面板并创建框架视图。

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-12-01 00:29:41

这段代码仍然需要进行一些调试,但您可以从中得到一些想法:

代码语言:javascript
复制
$(document).ready(function() {

    if ($('.content').height() > $('.container').height()) {
        $("#down").hover(function () {
            animateContent("down");
        }, function() { $('.content').stop(); });

        $("#up").hover(function () {
            animateContent("up");
        }, function() { $('.content').stop(); });
    }
});

function animateContent(direction) {  
    var animationOffset = $('.container').height() - $('.content').height();
    if (direction == 'up') {
        animationOffset = 0;
    }

    $('.content').animate({ "marginTop": animationOffset + "px" }, "fast");
}

代码:http://jsfiddle.net/a89DF/6/

票数 9
EN

Stack Overflow用户

发布于 2011-12-01 00:29:49

你需要将jQuery .height() method

  • You的实际高度,然后用“
  1. ”和"mouseleave“来更改你的mouse events绑定,然后用"mouseleave”来停止jQuery元素的动画。jQuery .height() method也可以计算这个高度。
票数 0
EN

Stack Overflow用户

发布于 2011-12-01 00:30:25

我认为animate对于单个动画效果更有用,而不是连续和可变的变化。您可以使用一定的时间间隔自己实现此功能。

代码语言:javascript
复制
var interval;

$("#down").mouseenter(function () {
    interval = setInterval(ScrollDown, 100);
});

$("#down").mouseleave(function () {
    clearInterval(interval);
});

function ScrollDown() {
    $('.scroll').css("marginTop", "+=50px");
    // check bounds here to solve problem #1
}

/* do the same stuff for scrolling up */
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8329035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档