[jquery]如何实现页面单块DIV区域滚动展示
// 未实现功能的代码 1(自己写的代码)
var _cur_top = $(window).scrollTop();
var num = $(".class_section").length;
var wH = $(window).height();
var t = [];
var i = 0;
$(window).scroll(function () {
var sH = $(window).scrollTop();
var total = wH + sH;
// 滚动条的高度 + 窗口的高度
$(".class_section").each(function (index) {
var offsetTop = $(this).offset().top;
console.log(++i);
console.log('index:' +index +'offTop:' + offsetTop); });
});
console.log(t); // 已实现功能的代码 2 (devin)
var $contentList = $(".class_section");
var _cur_top = $(window).scrollTop();
var contentNum = $contentList.length;
var $nowActiveContent = $contentList.eq(0);
// get the current position
for(var i = 0 ; i < contentNum ; i++)
{ if($(window).scrollTop() <= $contentList.eq(i).offset().top + $contentList.eq(i).height()) {
$nowActiveContent = $contentList.eq(i);
break;
}
} //self.position($nowActiveContent);
if($nowActiveContent.prev().length == 0){
$(window).scrollTop(0);
} else{
$(window).scrollTop($nowActiveContent.offset().top);
}
// manage the scroll's situation
$(window).scroll(function(){
var top = $(window).scrollTop(); var cmpNowActiveTop = $nowActiveContent.prev().length == 0 ? 0 : $nowActiveContent.offset().top;
var cmpNowActiveBottom = $nowActiveContent.next().length == 0 ? $("body").height() : $nowActiveContent.offset().top + $nowActiveContent.height();
if(top >= cmpNowActiveTop && top + $(window).height() <= cmpNowActiveBottom){
_cur_top = top;
return;
} if(_cur_top < top)
{
if(top > cmpNowActiveTop)
{
$nowActiveContent = $nowActiveContent.next().length > 0 ? $nowActiveContent.next() : $nowActiveContent;
}
} else {
if(top + $(window).height() < cmpNowActiveBottom){
$nowActiveContent = $nowActiveContent.prev().length > 0 ? $nowActiveContent.prev() : $nowActiveContent;
}
}
// self.position($nowActiveContent);
if($nowActiveContent.prev().length == 0){
$(window).scrollTop(0);
} else{
$(window).scrollTop($nowActiveContent.offset().top);
} _cur_top = $(window).scrollTop();
});
[jquery]如何实现页面单块DIV区域滚动展示的更多相关文章
- MUI开发APP,scroll组件,运用到区域滚动
最近在开发APP的过程中,遇到一个问题,就是内容有一个固定的头部和底部. 头部就是我们常用的header了,底部的话,就放置一个button,用来提交页面数据或者进入下一个页面等,效果 ...
- MUI组件四:选择器、滚动条、单选框、区域滚动和轮播组件
目录(?)[+] 1.picker(选择器) mui框架扩展了pipcker组件,可用于弹出选择器,在各平台上都有统一表现.poppicker和dtpicker是对picker的具体实现.*pop ...
- jquery点击非div区域隐藏div
点击非div区域隐藏div,如图,点击圆的头像(.person-msg)弹出白色底框(.person-centre).点击圆头像以外的区域隐藏白色底框
- jQuery实现鼠标点击Div区域外隐藏Div
冒泡定义:当一个元素上的事件被触发的时候,比如说鼠标点击了一个按钮,同样的事件将会在那个元素的所有祖先元素中被触发.这一过程被称为事件冒泡:这个事件从原始元素开始一直冒泡到DOM树的最上层.(摘自网络 ...
- jquery 实现动态表单设计
只是实现了前台页面的动态表单的设计,并未实现后台绑定数据到数据库等功能.技术使用到的为jquery和bootstrap.俗话说有图有真相,先说下具体效果如下: 点击添加一个面板容器: 容器添加成功: ...
- jQuery Validation Engine 表单验证
功能强大的 jQuery 表单验证插件,适用于日常的 E-mail.电话号码.网址等验证及 Ajax 验证,除自身拥有丰富的验证规则外,还可以添加自定义的验证规则. 兼容 IE 6+, Chrome, ...
- 整块div设置为超链接进行界面跳转
鼠标点击当前整块DIV任意一个地方均可进行页面跳转,如果复制过去的代码不能用,请注意双引号和单引号,是否为英文状态下的输入法填写出来的. 1.跳转至新建页面 <div class="& ...
- jquery.validation.js 表单验证
jquery.validation.js 表单验证 官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuer ...
- Jquery.validate.js表单验证插件的使用
作为一个网站web开发人员,以前居然不知道还有表单验证这样好呀的插件,还在一行行写表单验证,真是后悔没能早点知道他们的存在. 最近公司不忙,自己学习一些东西的时候,发现了validation的一个实例 ...
随机推荐
- 还没有写完准备弡上cpickle 还有字典
#!/usr/bin/python #Filename: cpickle.py import cPickle as p import os shoplistfile="shoplist.da ...
- 商业化博客平台原型制作分享-TypePad
TypePad是商业化博客平台,提供完全付费的博客服务,通过TypePad用户可以很容易建立自己的博客,TypePad提供博客系统该有的所有功能以及多种设计风格和外观,如果用户熟悉HTML和CSS,完 ...
- 无法嵌入互操作类型"ESRI.ArcGIS.Carto.MapDocumentClass".请改用适用的接口
在对地图文档进行操作时,居然出现如下问题: IMapDocument m_MapDocument = new ESRI.ArcGIS.Carto.MapDocumentClass(); 报错: 无法嵌 ...
- go语言练习
// main package main import ( "fmt" "runtime" "sync" ) func main() { f ...
- keybd_event使用方法
Windows提供了一个模拟键盘API函数Keybd_event(),使用该函数可以相应的屏蔽键盘的动作.Keybd_event()函数能触发一个按键事件,也就是说会产生一个WM_KEYDOWN或WM ...
- Unity2017新功能Sprite Atlas详解
Sprite Atlas(精灵图集)Sprite Atlas 针对现有的图集打包系统Sprite Packer在性能和易用性上的不足,进行了全面改善.除此之外,相比Sprite Packer,Spri ...
- 前端之css操作2
一 伪类选择器 伪类选择器就是在查找的后面加上冒号和状态 hover:悬浮到上面就会变化一种状态 link:没有接触的状态 active:点击是触发的状态 visited:点击后的状态 <!DO ...
- BZOJ 1444 [Jsoi2009]有趣的游戏 (AC自动机 + 概率DP + Gauss)
1444: [Jsoi2009]有趣的游戏 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1382 Solved: 498[Submit][Statu ...
- 使用mockserver来进行http接口mock
转载自:https://blog.csdn.net/heymysweetheart/article/details/52227379:(注,这个不是很符合我的要求,它主要的作用是可以通过简单的代码就能 ...
- Mysql通过sql语句添加约束和查看约束
一:添加约束 1.添加唯一约束:alter table student add constraint uk_name unique(name); 2.添加外键约束: alter table 表名 ad ...