jquery - 在 div 之间滚动 - jQuery

标签 jquery html css scroll web

我正在开发一个新网站,全部在一个页面上。

现在我有了名为“home”的主 div,以及名为“colordiv”的另一个页面的 div。 现在我试图通过上下滚动在 div 之间切换。 这是我的 html:

    <div id="home" class="home_div">
         //here home page code
    </div>

    <div id="color1" class="color_div" style="background-color:#253412;">

    </div>

    <div id="color2" class="color_div" style="background-color:#956341;">

    </div>

这是我的 jQuery 代码:

$("document").ready(function() {

    $('#learnMbtn').click(function(){

        $('html, body').animate({
            scrollTop: $("#color1").offset().top
        }, 600);

    });

    var lastScroll = 0;
    var temp = $("div.color_div");
    $(window).scroll(function(event){

        //Sets the current scroll position
        var st = $(this).scrollTop();

        //Determines up-or-down scrolling
        if (st > lastScroll){
            $('html, body').animate({
                scrollTop: temp.offset().top
            }, 600);
            temp = temp.next();
        }
        else {

        //here the scroll up code(prev)  

        }

        //Updates scroll position
        lastScroll = st;
    });

});

这对我不起作用,我不知道如何执行向上滚动代码,你能帮我吗?

最佳答案

var temp = $("div.color_div"); 这意味着 temp 变量获取一系列元素,其类名具有 color_div

因此,您在下面使用 temp.offset().top,jQuery 不会获取当前的 offset().top

如果 .color_div 有像 #color1 #color2 或 #colorN 这样的 id,也许你可以使用最后一个数字作为计数器和标识,比如:

var counter = 1;
var temp = $("#color"+counter);
$(window).scroll(function(event){

    if (st > lastScroll){
        $('html, body').animate({
            scrollTop: temp.offset().top
        }, 600);
        counter++;
        temp = $("#color"+counter);
    }
    else {

        counter--;
        temp = $("#color"+counter);

    }

});

关于jquery - 在 div 之间滚动 - jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24434031/

相关文章:

jquery - 覆盖不覆盖导航栏

jquery - 在哪里可以找到 jQuery 验证插件的托管版本?

jquery - 在 chrome 扩展中使用 jquery

html - Bootstrap v4 推拉

javascript - 有什么方法可以检测用户何时突出显示或复制全部/部分 URL?

html - 获取导航菜单下拉菜单,使其看起来就像基本菜单项

javascript - 使按钮随着下拉菜单的动画高度变化而变化

html - 是否可以向 HTML5 Canvas 上绘制的图像添加工具提示?

javascript - 在可见的 HTML 表格行上交替背景颜色的最快方法

css - 在 CSS 中,如何对线性渐变进行动画处理,使其实现完整的 360 度而不是 180 度循环?