作为前端的小白,在做项目的过程中,一般只考虑到实现功能,并没有考虑到性能的问题。

比如说,下拉加载更多的这个功能和resize()是特别耗费性能的。此时就要想到节流了。

节流:就是然一个函数无法在短时间内连续的执行,只有上一函数执行后过了你所能规定的时间,才能继续执行以下的操作。

节流原理:原理其实很简单,用个定时器控制一下就好,但是,在用之前,注意,要清空定时器。自我认为,定时器这种东西跟浮动差不多,随时用随时清理。

例子:

function isBottom(){
  var timer = setInterval(function(){
    $(window).bind('scroll', function(){
    var loadType = $("#ifHeight").contents().find(".load-news").attr("load-type");
    if(loadType == "true"){
      return;
    }
    var scroll = $(window).scrollTop();
    if(scroll>= $(document).height()-$(window).height()-100){
      $("#ifHeight").contents().find(".load-news").attr("load-type","true");
      $("#ifHeight").contents().find(".load-news").show();
      var news = $("#ifHeight").contents().find("input[name=news]:checked").val();
      var curIndex = $("#ifHeight").contents().find("#curIndex").val();
      document.getElementById("ifHeight").contentWindow.creatLi(parseInt(curIndex),10,news,false);
      var doc = $(window.top.document);
      var h=$("#ifHeight").contents().height();
      var ifHeight = doc.find("#ifHeight").css({
      height:h
     });
  }
})
},50)
}

代码的功能仅仅是为了父页面获取子页面的高度,然后更改父页面的高度。

主要想体现出,节流的功能。

最新文章

  1. angularJs指令深度分析
  2. iOS:CYLTabBarController【低耦合集成TabBarController】
  3. [转载] 散列表(Hash Table)从理论到实用(上)
  4. springJDBC学习笔记和实例
  5. java 21 - 7 IO流小结的图解
  6. js二级下拉菜单
  7. C程序设计语言练习题1-5
  8. vpn pptp配置
  9. Unity 之 c# 版的 CharacterMotor
  10. MySQL索引 - 索引的类型
  11. 【毕业原版】-《贝德福特大学毕业证书》Bedfordhire一模一样原件
  12. EF Core 小坑:DbContextPool 会引起数据库连接池连接耗尽
  13. python学习笔记——(三)文件操作
  14. 如何让Fiddler可以抓取https的请求
  15. drupal
  16. 基于VLAN的二三层转发
  17. 不能存在多个@ManyToMany(fetch=FetchType.EAGER)
  18. C#中Equals和==的比较
  19. nodejs之express的使用
  20. What is tail-recursion

热门文章

  1. Qt编写自定义控件大全
  2. Android:如何从堆栈中还原ProGuard混淆后的代码
  3. 在Sharepoint2010中一种自定义调查列表的不允许再次答复提示的处理方法!
  4. Base64 算法原理,以及编码、解码【加密、解密】 介绍
  5. 再说 c++11 内存模型
  6. MySQL Cluster 集群
  7. NGUI 界面自适应
  8. 关于VSTO调用Excel后进程无法退出的解决方案:
  9. Transact-SQL 示例 - UPDATE中使用INNER JOIN
  10. HMM 自学教程(七)前向后向算法