Detect元素位于其父级的顶部 - jQuery

时间:2014-10-08 12:47:06

标签: javascript jquery

我很想建立一个简单的内容滚动条。

在我的按钮上点击我向上移动一个div的上下15个像素,如果它位于顶部但是想要禁用此功能,那么最好的方法是什么?...

JSFIDDLE

http://jsfiddle.net/dwkurpjm/

JQUERY

$('.up').click(function (e) {
    e.preventDefault();
    $(this).parent().prev().find('.inner-scroll').css({
        marginTop: '-=15px'
    });
});
$('.down').click(function (e) {
    e.preventDefault();
    $(this).parent().prev().find('.inner-scroll').css({
        marginTop: '+=15px'
    });
});

2 个答案:

答案 0 :(得分:1)

而不是使用保证金为什么不使用scrollTop财产?这是应该用于更改滚动状态的属性。

浏览器会注意不要让值小于0或超出上限。

 $('.up').click(function (e) {
        e.preventDefault();
        var s = $(this).parent().prev();
        s.scrollTop(s.scrollTop()-15);
    });
    $('.down').click(function (e) {
        e.preventDefault();
        var s = $(this).parent().prev();
        s.scrollTop(s.scrollTop()+15);
    });

http://jsfiddle.net/dwkurpjm/2/

答案 1 :(得分:0)

你需要检查你的内部滚动div的高度,然后像下面那样移动,这样每当顶部偏移超过父div偏移时它就会停止移动。

if($(".inner-scroll").offset().top>$('.scroll').offset().top){
//execute your code
}

demo