当用户滚动到特定div时运行javascript函数

时间:2013-12-31 04:02:56

标签: javascript jquery css html

每次用户滚动到另一个div或页面的另一部分时,我都会运行一个不同的函数。无论如何我能做到吗?

2 个答案:

答案 0 :(得分:6)

Allready在这里回答 - >> Dynamic Scroll Position in Jquery

有一个很棒的插件,名为 WAYPOINT

我在 jsfiddle check it out

上设置了一个示例

<强> HTML

<div class="first"></div>
<div class="second"></div>

<强> CSS

.first {
    background:green;
    height: 600px;
    width:100%;
}
.second {
    background:red;
    height: 600px;
    width:100%;
}

<强> JS

$('.second').waypoint(function() {
    alert('You have scrolled to an entry.');
}, {
    offset: '100%'
});

答案 1 :(得分:2)

有很多方法可以做到这一点。最简单的方法:

var element = $('#my-div');

function myFunction() {
    alert('I am here!');
}

$(window).scroll(function(){
    var docViewTop = $(window).scrollTop();
    var docViewBottom = docViewTop + $(window).height();

    var elemTop = $(elem).offset().top;
    var elemBottom = elemTop + $(elem).height();

    if ((elemBottom <= docViewBottom) && (elemTop >= docViewTop)) {
        myFunction();
    }
});

还有jQuery Appear pluginWaypoints plugin

$('#my-div').appear(function() {
    alert('I am here!');
});

$('#my-div').waypoint(function() {
    alert('I am here!');
});