美文网首页
懒加载与ajax的组合应用

懒加载与ajax的组合应用

作者: 书中有凉气 | 来源:发表于2017-01-02 23:36 被阅读0次

预览:
https://jirengu-inc.github.io/jrg-renwu8/homework/%E5%BC%A0%E8%BD%A9/renwu29-3/renwu29-3.html
源码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>renwu29-3</title>
    <script src="//apps.bdimg.com/libs/jquery/2.1.4/jquery.js"></script>
</head>
<style>
    .line{
        height: 500px;
        line-height: 500px;
        border: 1px solid grey;
        border-radius: 5px;
        padding: 10px;
        margin: 5px;
    }
    .button{
        padding: 5px;
        width: 80px;
        border-radius: 5px;
        margin: 5px;
        outline-style: none;
    }
    .hover{
        background-color: #6fc;
    }
</style>
<body>
    <div class="line">1</div>
    <div class="line">2</div>
    <button class="button">click</button>
    <script>

$('body').on('mouseenter', 'div', function(){
    $(this).addClass('hover');
})
$('body').on('mouseleave', 'div', function(){
    $(this).removeClass('hover');
})
        /*
        接口
        1.url;
        2.get,post
        3.输入:
        {
            start:2,
            length:6
        }
        4.输出:
        {
            status:1 --OK
            data:[3,4,5,6,7,8]

            status:0 --ERROR
        }
        */
var getdata=(function(){
            function data(){
                $.ajax(
                    {
                        url:'renwu29-3.php',
                        dataType:'json',
                        type:'get',
                        data:{
                            start:$('.line').length,
                            len:6
                        },
                        success:function(json){
                            onSuccess(json);
                        },
                        error:function(){
                            onError();
                        },
                    }
            );
            function onSuccess(json){
                if(json.status==1){
                    append(json.data);
                }
                else{
                    alert('获取失败');
                }
            };
            function onError(){
                alert('链接失败');
            };

            function append(arr){
                for(var i=0;i<arr.length;i++){
                    $('.line:last').after('<div class="line">'+arr[i]+'</div>');
                }
            };
        }
        return {
            data:data
        }

})()


var zhangxuan=(function(){
  

  function showimg(p){
    getdata.data();
  }
  function isimg(node){
    node.each(function(){
      var $node=$(this),
          $dscrollTop=$(document).scrollTop(),
          $wwidth=$(window).height(),
          $picoffsetTop=$node.offset().top;
      //原本作为优化已加载图片不执行,但对于以DOM为参照物的方法不需要
      // if(!!$node.data('isload')){            
      //     return
      //   }
      // else{
          if(($dscrollTop+$wwidth)>$picoffsetTop){
            showimg($node);
          }

    })
  }
  function bind(node){
    var clock;
    $(window).on('scroll', function(){
      if(clock){
        clearTimeout(clock);
      }
      clock=setTimeout(function(){
            //优化滚轮停止时才执行
        isimg(node);
      }, 500)
    })

  }
  return{
    bind:bind
  }
})()
zhangxuan.bind($('.button'));




    </script>
</body>
</html>

php

<?php
    // 后端 php 测试接口文件
    $start = $_GET['start']; //2
    $len = $_GET['len'];  //6 
    $items = array();
 
    for($i = 1; $i < $len; $i++){
        array_push($items, ($start+$i));
    }
    $ret = array('status'=>1, 'data'=>$items);

    //{status: 1, data: ['内容1','内容2','内容3']}
    sleep(0.5);
    echo json_encode($ret);
?>

相关文章

  • 懒加载与ajax的组合应用

    预览:https://jirengu-inc.github.io/jrg-renwu8/homework/%E5%...

  • vue 路由的懒加载

    前言: 懒加载也叫延迟加载,即在需要的时候进行加载,随用随载; 为何要用懒加载: 1、在单页应用中,如果没有应用懒...

  • vue 懒加载

    懒加载 为什么需要懒加载? 像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大...

  • 2018-03-19项目基本选型和认识

    1.路由的组织 懒加载的方式 “懒加载也叫延迟加载,即在需要的时候进行加载,随用随载。在单页应用中,如果没有应用懒...

  • Android 懒加载优化

    目录介绍 1.什么是懒加载1.1 什么是预加载1.2 懒加载介绍1.3 懒加载概括 2.实际应用中有哪些懒加载案例...

  • vue-router懒加载速度缓慢问题

    懒加载:也叫延迟加载,即在需要的时候进行加载,随用随载。像vue这种单页面应用,如果没有应用懒加载,运用webpa...

  • Angular 6 的预加载与懒加载

    angular的文件越来越大,导致用户体验差,使用预加载与懒加载 懒加载场景: 应用在启动时,某些模块不需要,就可...

  • Swift语法点

    1 懒加载 懒加载与OC中的懒加载的区别:懒加载的类一旦 设置为nil 后, 懒加载就不会再次执行,与OC中不同,...

  • 懒加载 的应用

    1- 如何判断一个元素是否出现在窗口可视范围(浏览器的上边缘和下边缘之间,肉眼可视)。用函数isVisible实现...

  • Python 爬虫-异步加载

    主要内容有:1,AJAX 技术介绍2,JSON介绍与应用3,异步GET与POST请求4,特殊的异步加载5,多次请求...

网友评论

      本文标题:懒加载与ajax的组合应用

      本文链接:https://www.haomeiwen.com/subject/wbdgvttx.html