// 未实现功能的代码 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. Win7下Qt5的安装及使用

    1.安装Qt5 Qt5的安装比Qt4的安装简单多了,我装的是Qt5.4(qt-opensource-windows-x86-mingw491_opengl-5.4.0.exe),它集成了MinGW.Q ...

  2. [翻译]Javaslang 介绍

    原文地址:Introduction to Javaslang 1. 概述 在这篇文章中,我们将会探讨: Javaslang 是什么? 为什么需要它? 以及怎样在项目中使用它? Javaslang 是J ...

  3. synchronized Lock

    synchronized和Lock都是Java语言提供的两种实现对共享资源进行同步的机制.其中synchronized使用Object对象本身的wait().notify().notifyAll()方 ...

  4. [RF] Robot Framework新手干货(转载)

    Robot Framework用法总结 Robot Framework完整流程学习系列一 Robotframework自动化新手常见问题总结--(基础篇)

  5. xcode资源管理

    1. 在根目录放图片. UIImageView *image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ok.pn ...

  6. openssl编译安装-各种蛋疼

    arm平台  ubuntu Linux xxxxxx 3.0.62 #2 PREEMPT Tue Apr 2 20:14:12 CST 2013 armv7l armv7l armv7l GNU/Li ...

  7. SpringMVC学习笔记:单例与并发问题

    Spring中的Bean默认都是单例(singleton),Spring中Bean的scope属性有五种类型: singleton 表示在spring容器中的单例,通过spring容器获得该bean时 ...

  8. c# 通过按钮获取文件夹和打开磁盘文件

    Button控件获取文件夹: FolderBrowserDialog fileDialog = new FolderBrowserDialog(); if (fileDialog.ShowDialog ...

  9. SpringMVC学习八 @ResponseBody注解

    (一)在方法上只有@RequestMapping 时,无论方法返回值是什么认为需要跳转,代码实例如下 @RequestMapping("demo10") public People ...

  10. ios蓝牙自定义快捷键

    http://www.paopaoche.net/app/12072.html Beekeyboard