滚动加载2

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>

<div style="height:800px;width:100%;border:1px solid red"></div>

<div id="tip" style="height:150px;width:200px;position:absolute;background-color:gray;display:none;z-index:999;left:300px;">加载中。。。</div>
<script>
/**
 * param callback 加载事件触发时的操作
 * param tips 提示信息处理
 */
ScrollLoader = function(callback, tips){
    var isLoading = false;
    window.onscroll = function (ev) {
        if(isLoading) return;
        var visiable_h = document.body.clientHeight;
        var top = document.body.scrollTop;
        var total_h = document.body.scrollHeight;
        //当窗口可视区域+可视区域到文档顶部的距离 >= 整个文档的高度
        if (visiable_h  + top >= total_h - 5) {
            isLoading = true;
            tips.start();
            setTimeout(function(){
                callback();
                isLoading = false;
                tips.finish();
            }, 2000);
        };
    };
}

//-----------------用户代码--------------------
var num = 1;
function callback(){
    for(var i=0;i<2;i++){
        var element = document.createElement("div");
        element.style.height = "100px";
        element.style.width = "100%";
        element.style.border = "1px solid blue";
        element.style.margin = "3px auto";
        if(num%2==0) element.style.backgroundColor = "green";
        element.innerHTML = "第"+num+"次";
        document.body.appendChild(element);
    }
    num++;
}

var tips = {
    start:function(){
        var tip = document.getElementById("tip");
        tip.style.display = "block";
        tip.style.top = (document.body.scrollTop + 150)+"px";
    },
    finish:function(){
        var tip = document.getElementById("tip");
        tip.style.display = "none";
    }
}

ScrollLoader(callback, tips);
</script>
</body>
</html>
时间: 2024-12-18 04:29:31

滚动加载2的相关文章

js 滚动加载iframe框中内容

var isIE6 = !!window.ActiveXObject&&!window.XMLHttpRequest; //滚动加载 var scrollLoad =function(){ $("#content iframe[_src]").each(function(){ var t = $(this); if( t.offset().top<= $(document).scrollTop() + $(window).height() ) { t.attr(

滚动加载服务器端内容——例子

网页代码如下 <!doctype html> <html> <head> <meta charset="utf-8"> <title>滚动加载</title> <style> * {margin:0; padding:0; border:0;} #container {width:960px; margin:auto;} #container:after {display:block; height:0

滚动加载图片

做了一个粗糙的滚动加载图片例子,先分享一下,后续不断完善. 基本功能是这样的: 1.页面一共有7层,每一层可以认为是不同类型的商品: 2,页面初始化时,只加载第一层的图片和数据等: 3,滚动时,动态加载图片:(一层一层的加载) 4,如果已经加载过的层,不再加载. 样式:     * {      margin: 0px;      padding: 0px;     } body { background: rgb(250, 222, 222); } .container { width: 95

HTML5商城开发一 楼层滚动加载数据

对于楼层加载在以前只是个想法,从来没实现过,刚好项目中碰到,再此总结一下 场景:HTML5,局部商品列表信息滚动(局部滚动条) 1.通过jq设置subCategoryScroll的高度为屏幕显示高度(假设为100),设置productlist的高度为列表信息的实际高度(假设为300) <div id="subCategoryScroll" style="overflow: hidden; overflow-y: scroll;"> <ul clas

js滚动加载

背景 移动web开发中,为了加快响应速度,通常在服务端输出首屏页面,动态异步加载listview.而对于包含大量图片的listview,一起加载将耗费大量http请求,进而影响响应速度.滚动加载这时就可以成为一种可选的优化方案. 要点 生成的img标签用一个属性存储图片地址而不是用src document.images 获取当前img标签 isInSight: 是否有元素处于当前可视区域内 window.addEventListener('scroll', lazyLoad, false); 监

前端页面实现滚动加载数据的案例

1.我们在项目中经常会有这样的需求就是需要滚动加载数据: 2.原理利用分页的原理即可实现:见下面代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> &l

实现图片滚动加载以及排版优化

最近闲来没事,做了一个画江湖图片滚动加载的demo,大家感兴趣可以下来看一下 以下为界面截图: 图片会随滚动条的拖动动态加载,目前来说只是加载的本地的资源,大家可以从后台抓取数据来实现懒加载. 支持图片点击然后大图来查看: 代码已经放到git上了,欢迎下载试用 https://github.com/tuohaibei/ScroolLoading.git

移动设备的HTML页面中图片实现滚动加载

如今移动互联网风靡全球,移动页面的元素也是丰富多彩,一个移动页面的图片超过10张已经是再正常不过的事情了.但是相对,很多移动用户还停留在2G,3G这样的网络中.那么这样带宽的用户,在浏览这样的页面时,要把页面加载完毕,可能就需要10s,20s甚至更多,严重影响用户的体验.针对这样的问题,让页面中的图片滚动加载(图片出现在显示器屏幕上时再加载图片)显得非常重要!这样也可以有效地节省我们服务器的带宽和解决请求大并发的问题. 1.效果图.     这是加载过程中的图片菊花显示            

Ajax滚动加载页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title>  <m

页面滚动加载

//1.页面滚动加载 $(document).ready(function () { //本人习惯这样写了    $(window).scroll(function () {        //$(window).scrollTop()这个方法是当前滚动条滚动的距离        //$(window).height()获取当前窗体的高度        //$(document).height()获取当前文档的高度        var bot = 50; //bot是底部距离的高度