// 未实现功能的代码 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区域滚动展示的更多相关文章

  1. MUI开发APP,scroll组件,运用到区域滚动

    最近在开发APP的过程中,遇到一个问题,就是内容有一个固定的头部和底部.         头部就是我们常用的header了,底部的话,就放置一个button,用来提交页面数据或者进入下一个页面等,效果 ...

  2. MUI组件四:选择器、滚动条、单选框、区域滚动和轮播组件

    目录(?)[+]   1.picker(选择器) mui框架扩展了pipcker组件,可用于弹出选择器,在各平台上都有统一表现.poppicker和dtpicker是对picker的具体实现.*pop ...

  3. jquery点击非div区域隐藏div

    点击非div区域隐藏div,如图,点击圆的头像(.person-msg)弹出白色底框(.person-centre).点击圆头像以外的区域隐藏白色底框

  4. jQuery实现鼠标点击Div区域外隐藏Div

    冒泡定义:当一个元素上的事件被触发的时候,比如说鼠标点击了一个按钮,同样的事件将会在那个元素的所有祖先元素中被触发.这一过程被称为事件冒泡:这个事件从原始元素开始一直冒泡到DOM树的最上层.(摘自网络 ...

  5. jquery 实现动态表单设计

    只是实现了前台页面的动态表单的设计,并未实现后台绑定数据到数据库等功能.技术使用到的为jquery和bootstrap.俗话说有图有真相,先说下具体效果如下: 点击添加一个面板容器: 容器添加成功: ...

  6. jQuery Validation Engine 表单验证

    功能强大的 jQuery 表单验证插件,适用于日常的 E-mail.电话号码.网址等验证及 Ajax 验证,除自身拥有丰富的验证规则外,还可以添加自定义的验证规则. 兼容 IE 6+, Chrome, ...

  7. 整块div设置为超链接进行界面跳转

    鼠标点击当前整块DIV任意一个地方均可进行页面跳转,如果复制过去的代码不能用,请注意双引号和单引号,是否为英文状态下的输入法填写出来的. 1.跳转至新建页面 <div class="& ...

  8. jquery.validation.js 表单验证

    jquery.validation.js 表单验证   官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuer ...

  9. Jquery.validate.js表单验证插件的使用

    作为一个网站web开发人员,以前居然不知道还有表单验证这样好呀的插件,还在一行行写表单验证,真是后悔没能早点知道他们的存在. 最近公司不忙,自己学习一些东西的时候,发现了validation的一个实例 ...

随机推荐

  1. Linux网卡绑定探析

    2013-08-20 15:39:31 现在很多服务器都自带双千兆网口,利用网卡绑定既能增加网络带宽,同时又能做相应的冗余,目前应用于很多的场景.linux操作系统下自带的网卡绑定模式,Linux b ...

  2. BZOJ1227或洛谷2154 [SDOI2009]虔诚的墓主人

    BZOJ原题链接 洛谷原题链接 又是扫描线,题解可看大佬的博客(太懒了不想打) #include<cstdio> #include<algorithm> using names ...

  3. CODE[VS]4228 小猫爬山 小猫爬山

    原题链接 第一眼还以为是贪心,然后随便找了几组例子瞬间推翻贪心的想法.发现\(n\leqslant18\),显然是用爆搜+剪枝. 爆搜主体我是对小猫进行枚举,判断增添缆车,其实这是一个比较慢的搜法,而 ...

  4. javascript数组中数字和非数字下标的区别(转)

    http://blog.csdn.net/qq_27461663/article/details/52014911 考完试后闲来无事,想起好多天没写js了,于是打算实践一下最近看到的一些好玩的点子.结 ...

  5. a label can only be part of statement and a declaratioin is not a statement

    参考资料: https://stackoverflow.com/questions/18496282/why-do-i-get-a-label-can-only-be-part-of-a-statem ...

  6. UI设计教程分享:设计一个高质量的logo要从哪方面入手呢?

    有的人觉得logo只是一个简单的图形,对品牌影响无关紧要:但有的人却觉得logo对品牌有较大的影响.其实logo承载着一个公司的品牌形象.公司背景.公司理念等.就像Landor往往给一个企业做logo ...

  7. js、css、img等浏览器缓存问题的2种解决方案

    转:http://www.jb51.net/article/42339.htm 浏览器缓存的意义在于提高了执行效率,但是也随之而来带来了一些问题,导致服务端修改了js.css,客户端不能更新,下面有几 ...

  8. nginx 域名(虚拟)部署nodejs项目

    首先说下我的情况,Windows+mongodb开发的简单nodejs 小博客系统, 配置部署到centos7 nginx下,mongodb还是在我Windows机器下, 1.Linux安装node. ...

  9. Netsharp下微信菜单以及OAuth

    一.OAuth介绍 在微信开发中,当打开一个页面是,业务场景一般会基于粉丝绑定用户信息,即页面需要基于粉丝和用户的身份处理业务逻辑. 在微信中打开一个页面有三个场景: 1.文本回复中直接包含url 2 ...

  10. php服务器---IIS一些问题

    配置网上很多博客都介绍过..这里不作详细说明了..将PHP目录(D:\PHP\PHP)下的php.ini-recommended或者php.ini-dist改名为php.ini,并找到extensio ...