使用鼠标滚动的未结束图像

时间:2013-10-07 13:27:44

标签: javascript html

<!doctype html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Frog</title>
    <script type="text/javascript">
        window.onscroll = infinity;
        function infinity () {
            document.write("<img src='frog.gif'>" + "<br/>");
        }
        while(window.onscroll){
            infinity();
        }
    </script>
</head>
<body>
    <img src='earth.png'> 
    <br/>
    <img src='tiger.jpg'> 
    <br/>
</body>
</html>

大家好,我想知道如果我每次向下滚动青蛙图像,我会如何循环青蛙,再次提前感谢!

2 个答案:

答案 0 :(得分:3)

如果您需要在用户实际转动鼠标滚轮时添加图像(即使不涉及实际滚动) - 您需要捕获“鼠标滚轮”事件。普遍的crossbrowser你可以这样:

if (document.addEventListener) {
    document.addEventListener("mousewheel", MouseWheelHandler, false);
    document.addEventListener("DOMMouseScroll", MouseWheelHandler, false);
}
else {
    document.attachEvent("onmousewheel", MouseWheelHandler);
}    

如果您创建占位符来保存未来的图片:

<div id="fdiv">Froggies:</div>

你可以像鼠标一样在它上面添加图像:

function MouseWheelHandler(e) {

    var e = window.event || e;
    var delta = e.wheelDelta

    if (delta < 0)

    var img = document.createElement("img");
    img.src = "frog.gif";
    document.getElementById("fdiv").appendChild(img);

}

这样做可以检测用户是否向下滚动鼠标(delta <0),如果是,则创建一个新的青蛙图像并将其添加到DIV。

这是演示:http://jsfiddle.net/Z8AxG/2/将鼠标放在窗口上,单词“Froggies:”并将鼠标滚轮向下移动。

答案 1 :(得分:1)

你可以尝试的是在向下滚动时(使用Javascript)使div修改其高度。然后在背景上应用图像并使用CSS重复它:

div#infinity {
    background-image: url('frog.gif');
    background-repeat: repeat-y;
}

换句话说,当您向下滚动时,此脚本将添加图像:

<!DOCTYPE html>
<html>
    <head>
        <title>TEST: Infinity Scroll</title>
        <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script type="text/javascript">

            var lastScrollTop = 0;
            $(window).scroll(function(event) {
                var st = $(this).scrollTop();
                if (st > lastScrollTop) {
                    $('div#infinity').append(
                        $('<div>').attr("id", "infinityimage")
                    );
                }
                else {
                    // upscroll code
                }
                lastScrollTop = st;
            });

        </script>
        <style type="text/css">

            html, body {
                height: 101%;
            }

            div#infinityimage {
                height: 190px;
                background-image: url('https://www.google.nl/images/srpr/logo6w.png');
                background-repeat: repeat-y;
            }

        </style>
    </head>
    <body>

        <div id="infinity">

        </div>

    </body>
</html>