// 未实现功能的代码 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. 还没有写完准备弡上cpickle 还有字典

    #!/usr/bin/python #Filename: cpickle.py import cPickle as p import os shoplistfile="shoplist.da ...

  2. 商业化博客平台原型制作分享-TypePad

    TypePad是商业化博客平台,提供完全付费的博客服务,通过TypePad用户可以很容易建立自己的博客,TypePad提供博客系统该有的所有功能以及多种设计风格和外观,如果用户熟悉HTML和CSS,完 ...

  3. 无法嵌入互操作类型"ESRI.ArcGIS.Carto.MapDocumentClass".请改用适用的接口

    在对地图文档进行操作时,居然出现如下问题: IMapDocument m_MapDocument = new ESRI.ArcGIS.Carto.MapDocumentClass(); 报错: 无法嵌 ...

  4. go语言练习

    // main package main import ( "fmt" "runtime" "sync" ) func main() { f ...

  5. keybd_event使用方法

    Windows提供了一个模拟键盘API函数Keybd_event(),使用该函数可以相应的屏蔽键盘的动作.Keybd_event()函数能触发一个按键事件,也就是说会产生一个WM_KEYDOWN或WM ...

  6. Unity2017新功能Sprite Atlas详解

    Sprite Atlas(精灵图集)Sprite Atlas 针对现有的图集打包系统Sprite Packer在性能和易用性上的不足,进行了全面改善.除此之外,相比Sprite Packer,Spri ...

  7. 前端之css操作2

    一 伪类选择器 伪类选择器就是在查找的后面加上冒号和状态 hover:悬浮到上面就会变化一种状态 link:没有接触的状态 active:点击是触发的状态 visited:点击后的状态 <!DO ...

  8. BZOJ 1444 [Jsoi2009]有趣的游戏 (AC自动机 + 概率DP + Gauss)

    1444: [Jsoi2009]有趣的游戏 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 1382  Solved: 498[Submit][Statu ...

  9. 使用mockserver来进行http接口mock

    转载自:https://blog.csdn.net/heymysweetheart/article/details/52227379:(注,这个不是很符合我的要求,它主要的作用是可以通过简单的代码就能 ...

  10. Mysql通过sql语句添加约束和查看约束

    一:添加约束 1.添加唯一约束:alter table student add constraint uk_name unique(name); 2.添加外键约束: alter table 表名 ad ...