弘帝企业智能建站系统交流平台

 找回密码
 立即注册
查看: 2898|回复: 0

全屏滚动示范脚本

[复制链接]
发表于 2019-3-18 11:16:53 | 显示全部楼层 |阅读模式
根据div.full来进行触发滚动事件,本示范屏高小于780像素滚动自动失效。
DIV:
<div class="full"></div>必须一个以上。
JS:
var h = $(window).height();
var cur = 0;
$(function(){
    var sider = "";
    for (var j = 0; j < $(".full").length; j++) {
        sider = sider + "<li></li>";
    }
    if (h > 780) {
        $(".full").height(h);
        if ($(".full").length > 0) {
            $("body").append("<ul class='sider-left'>" + sider + "</ul>");
            $(".sider-left").css({
                position: "fixed",
                left: "3em",
                top: 268,
                zIndex: 1000
            });
            $(".sider-left li").css({
                width: 20,
                height: 20,
                marginBottom: 10,
                borderRadius: "50%",
                border: "2px solid #888",
                cursor: "pointer"
            });
            cur = Math.ceil($(window).scrollTop() / $(window).height());
            mov(cur);
            $(".sider-left li").click(function () {
                mov($(this).index())
            })
        }
    } else {
        $(".full").height(780);
    }
})

var doScroll = true;function mov(i) {
    $(".sider-left li").css("background", "none");
    $(".sider-left li").eq(i).css("background", "#888");
    $("html,body").stop();
    $("html,body").animate({
        scrollTop: $(".full").eq(i).offset().top
    }, 800, function () {
        doScroll = true;
    })
}

$(document).on("mousewheel DOMMouseScroll", function (e) {
    if (doScroll) {
        doScroll = false;
        var delta = (e.originalEvent.wheelDelta && (e.originalEvent.wheelDelta > 0 ? 1 : -1)) || (e.originalEvent.detail && (e.originalEvent.detail > 0 ? -1 : 1));
        if (delta > 0) {
            cur = cur - 1;
            if (cur < 0) cur = 0;
        } else if (delta < 0) {
            cur = cur + 1;
            if (cur >= $(".full").length) cur = $(".full").length - 1;
        }
        setTimeout(mov(cur), 2000);
    }
});

$(document).keydown(function (event) {
    if (event.keyCode == 38) {
        cur = cur - 1;
        if (cur < 0) cur = 0;
    } else if (event.keyCode == 40) {
        cur = cur + 1;
        if (cur >= $(".full").length) cur = $(".full").length - 1;
    }
    $("html,body").stop();
    mov(cur);
});

示范模板:jhs
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|弘帝企业智能建站系统 ( 皖ICP备07503252号 )

GMT+8, 2024-11-27 14:45 , Processed in 0.057920 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表