关于监听滚动事件加载更多的代码
2015-08-03 10:30
435 查看
$(".rankDetail").scroll(function(){ //rankDetail是大容器的class var scrollHeight = $(this).scrollTop(); var rankListCount = $(".rankList").length; //rankList是容器中的一个项目,类似于一个li var rankListHeight = $(".rankList").height(); var rankListTotalHeight = rankListHeight * rankListCount; var rankDetailHeight = $(".rankDetail").height(); var diffHeight = rankListTotalHeight - rankDetailHeight - scrollHeight; //可以加载新数据 if(diffHeight >=0 && diffHeight < rankListHeight && isLoad == false){ var pageNum = Math.ceil(rankListCount / pageSize) + 1;//pageSize是加载一次数据总量 getName(pageNum); //getName是加载程序,pageNum是加载是所传的参数 } })
还有另外一个问题就是,举个例子,单页面上有一个div,页面刷新的时候div的display为none,触发某个事件的时候div显示出来,在同一个项目的另外一个页面里面,点击某个button时跳转到第一个页面,同时希望这个页面的隐藏div处于打开状态,怎么办呢? 给第二个页面跳转时设置location.href="/firstPage?title=1" 此时firstPage后面的东西是不影响页面跳转的,页面会跳转到第一个界面,然后
if(location.href.indexOf("title=1") !== -1){ //也就证明此时页面是由第二个页面跳转过来的 divShow(); //将你要显示的div显示出来 }
最后一个问题是动态添加的div的点击问题:
点击某个button向页面中添加一个div ,如果想点击新添加的div里面的某个div怎么办?
如果你直接获取第二个div,然后添加点击事件,这样的程序是没法点击的:参考下面代码添加点击事件:
$(".nameInput").on("click",".moreName",function(){ //moreName是第二个div,nameInput是它的爷爷辈 元素,也就是页面第一次加载就存在的元素,不是动态添加的; var title=$(this).attr("title"); if(title == 1){ //添加title可以知道你这个元素是否被点击过,方面进行其他操作,注意这个用法非常实用 $(".nameInput").append(html);//此时的html是一个模版,按需求定义 $(this).attr("src","./img/delete.png"); $(this).attr("title","2"); }else{ $(this).parent().remove(); } });
输入框的验证问题:
$('.phone').blur(function(){ var $parent = $(this).parent(); var value=$(this).val(); if(this.value==""){ var errorMsg = '留下您的电话'; $parent.append('<small class="formtips">'+'*'+errorMsg+'</small>'); } }).keyup(function(){ $(this).triggerHandler("blur"); });
blur代表失去焦点时的事件,适用与不使用插件的验证方式
补充一下:举个例子,页面中有个div设置了overflow-y:auto;内容溢出时在安卓机上可以滑动加载更多,但是到了ios机子上就会出现拖动时拖动整个页面,而div里面的内容没有加载更多,这个问题的解决办法见:https://github.com/wwhgtt/iNoBounce; 需要引入的文件为:<script src="./js/lib/inobounce.min.js"></script>;同时为你的div设置: -webkit-overflow-scrolling: touch;
相关文章推荐
- C语言编程入门——结构体(下)
- Box2D C++教程 第四节:创建测试
- C语言中goto的使用方法
- 阿里C++工程师面试小记
- Effective C++ 笔记
- [leetcode-56]Merge Intervals(java)
- 关于VB的WINSOCKET控件使用小结
- spring配置定时器的时间设置
- Java面向对象纪要
- 如何做实时监控Spring Boot服务
- Algorithms—28.Implement strStr()
- PHP在Windows IIS上传的图片无法访问的解决方法
- java集合(ArrayList)
- Java之泛型【入门版,实例解析】
- java Map接口源码分析
- spring事物管理
- JAVA获取IP地址和本机IP地址的工具类
- python的一些机器学习算法库
- C++之set
- C语言编程入门——结构体(上)