/**
function __morebook(){
console.log(123)
}
ScrollBottom(function(){__morebook();});
**/ //如果直接写一个如下:
// ScrollBottom 方法里有个参数x,x作为函数带参数。然后通过doFun去调用;
// 为何doFun做为参数也调用了,是因为方法里有个setTimeOut;
// 这样写的意义是什么呢?是将scrollBottom写成公用方法,可以通过任何方式点击或者滚动都可以调用;
ScrollBottom(function(){console.log('碰到底部:',123)})
//点击: $("jsMoreTip").click(function () { __morebook() }); //滚动条到底部触发的事件
function ScrollBottom(x){
function __getScrollTop(){
   var scrollTop = 0, bodyScrollTop = 0, documentScrollTop = 0;
   if(document.body){bodyScrollTop = document.body.scrollTop;}
   if(document.documentElement){documentScrollTop = document.documentElement.scrollTop;}
   scrollTop = (bodyScrollTop - documentScrollTop > 0) ? bodyScrollTop : documentScrollTop;
   return scrollTop;
}
function __getWindowHeight(){
   var windowHeight = 0;
   if(document.compatMode == "CSS1Compat"){
windowHeight = document.documentElement.clientHeight;
   }else{
     windowHeight = document.body.clientHeight;
   }
   return windowHeight;
}
function __getScrollHeight(){
   var scrollHeight = 0, bodyScrollHeight = 0, documentScrollHeight = 0;
   if(document.body){bodyScrollHeight = document.body.scrollHeight;}
   if(document.documentElement){documentScrollHeight = document.documentElement.scrollHeight;}
   scrollHeight = (bodyScrollHeight - documentScrollHeight > 0) ? bodyScrollHeight : documentScrollHeight;
   return scrollHeight;
}
window.onscroll = function(){
if(__getScrollTop() + __getWindowHeight() == __getScrollHeight())
doFun(x)
};
}
function doFun(x){setTimeout(x,0)}

原生js触碰到底部触发函数;的更多相关文章

  1. 原生JS实现call,apply,bind函数

    1. 前言 使用原生JS实现call和apply函数,充分了解其内部原理.call和apply都是为了解决改变this的指向.作用都相同,只是传参的方式不同.除了第一个参数外,call可以接受一个参数 ...

  2. 原生JS封装创建多级菜单函数

    手写一个使用原生JS封装的多级菜单的函数,满足以下几点需求. 子类层级不确定,可根据数据自动生成多级菜单. 操作便捷,只需传入一个HTML标签. 缺点: 需要满足特定的数据结构 废话不多说,展示代码. ...

  3. 原生JS写Ajax的请求函数

    一.JS原生ajax ajax:一种请求数据的方式,不需要刷新整个页面:ajax的技术核心是 XMLHttpRequest 对象:ajax 请求过程:创建 XMLHttpRequest 对象.连接服务 ...

  4. 用纯原生js实现jquery的ready函数(两种实现)

    第一种实现方式: var dom = new function() { var dom = []; dom.isReady = false; dom.isFunction = function(obj ...

  5. 原生js自动触发事件

    熟悉jquery的童鞋都知道在jq中有一个方法可以自动触发事件,那就是trigger(),那么通过原生js又怎么模拟触发呢? js中添加一个主动触发事件的方法有dispatch.该方法能模拟用户行为, ...

  6. 瀑布流的三种实现方式(原生js+jquery+css3)

    前言 项目需求要弄个瀑布流的页面,用的是waterfall这个插件,感觉还是可以的,项目赶就没自己的动手写.最近闲来没事,就自己写个.大致思路理清楚,还是挺好实现的... 原生javascript版 ...

  7. 原生js实现 常见的jquery的功能

    原生选择器   充分利用 bind(this)绑定 <div id="box"> <ul> <li >111 </li> <l ...

  8. 原生JS和JQuery的区别

    1.原生js和jQuery的入口函数加载模式不同 原生js等页面dom加载完成并且图片等资源也加载完成之后才会执行: jQuery则是等页面dom加载完成执行,不会等图片等资源也加载完成: (也就是说 ...

  9. onload事件与ready事件的区别,原生js与jquery的区别

    onload事件与ready事件分别是原生js与jquery的入口函数 原生js入口函数写法: window.onload=function(){ } jquery入口函数写法: $(document ...

随机推荐

  1. C++11 std::move和std::forward

    下文先从C++11引入的几个规则,如引用折叠.右值引用的特殊类型推断规则.static_cast的扩展功能说起,然后通过例子解析std::move和std::forward的推导解析过程,说明std: ...

  2. python全栈开发中级班全程笔记(第二模块、第四章)(常用模块导入)

    python全栈开发笔记第二模块 第四章 :常用模块(第二部分)     一.os 模块的 详解 1.os.getcwd()    :得到当前工作目录,即当前python解释器所在目录路径 impor ...

  3. keras使用

    一.pad_sequences from keras.preprocessing.sequence import pad_sequences keras只能接受长度相同的序列输入.因此如果目前序列长度 ...

  4. Python解析xml文档实战案例

    xml文档 <?xml version="1.0" ?> <!DOCTYPE PubmedArticleSet PUBLIC "-//NLM//DTD ...

  5. chrome浏览器默认打开网址并全屏

    1.创建chrome快捷方式. 2.右击快捷方式点击属性. 3.属性面板快捷方式下目标的默认内容后添加“ 页面地址 --kiosk”.[注意网页地址和--kiosk之前各有一个英文的空格] 4.点击确 ...

  6. Ubuntu16.04的图形化界面无法启动问题

    昨晚在 Ubuntu 下试图安装笔记本触控板的驱动的时候,突然 Ubuntu 的图形化界面不见了,尝试了 Ctrl + Alt + F1.F2.F3...无果,又在一些博客的指导下尝试在命令行使用 s ...

  7. Python高级笔记(五)--实例方法、静态方法和类方法

    1. 类属性.实例属性 类属性在内存中只保存一份 实例属性在每个对象中都要保持一份 obj.__class__.country="xxx": 可以修改类属性 2. 实例方法.静态方 ...

  8. mysql插入大数据

    /*部门表*/ CREATE TABLE dept( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, /*id*/ deptno MEDIUMINT UNSIG ...

  9. Agiliq署名的免费python书籍

    在他们的官网介绍中,说他们团队自2009年开始使用Django,Python,Postgres,Augular等工具来开发webapp,移动应用后台等.并且,他们还有一个Github组织,开源了相当多 ...

  10. day13 Python数据基本类型

    算数运算 / x除以y // 取整除 %返回除法的余数 !=   不等于 <> 不等于 赋值运算 c+= a等价于c=c+a c-= a等价于c=c-a 逻辑运算 and or not 基 ...