• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >jquery > js页面滚动时层智能浮动定位实现(jQuery/MooTools)

js页面滚动时层智能浮动定位实现(jQuery/MooTools)

作者: 字体:[增加 减小] 来源:互联网 时间:2017-08-16

通过本文主要向大家介绍了滚动,智能浮动,定位等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一、应用展示
关于层的智能浮动效果早在几年前我就在国外的一些个人网站的垂直导航上见到了,现在似乎在国内一些商业网站上也屡见此效果,例如淘宝网的搜索结果页的排序水平条,在默认状态下,滚动条跟随页面滚动,如下:

淘宝网搜索页排序水平条 张鑫旭-鑫空间-鑫生活

随着页面向下滚动,当此水平条接触浏览器的上边缘时,水平条独立出来,不跟随滚动条滚动了,如下图所示:
淘宝网搜索页水平条 张鑫旭-鑫空间-鑫生活

类似的效果在新浪微博上也有:
新浪微博上智能定位层 张鑫旭-鑫空间-鑫生活

当页面滚动,新动态提示开始要淡出浏览器窗口的时候,其浮动于浏览器窗口的最上沿显示,如下图所示:
新浪微博智能浮动层 张鑫旭-鑫空间-鑫生活

此效果实现原理其实很简单,本文就将展示其实现。 

二、实现原理

默认状态就是默认状态,什么事情也不用做,定位是absolute也好,static也好,都ok。关键是当浏览器滚动的时候,对象(要浮动的层)要移除浏览器界面视区的时候,修改其position属性,让其浮动在窗口的上沿显示就可以了。最好的position属性就是fixed了,可以在IE6+和其他浏览器下浮动层平滑固定定位,由于IE6前辈不支持fixed属性,所以,后退一步,使用absolute属性代替,但是会有副作用——滚动不平滑。但,这也是没有办法的事情了。

现在关键就是如何判断当前层与浏览器窗口的上边缘接触呢?当浮动层与浏览器窗口上边缘接触的一瞬间,其页面垂直偏移值与页面的滚动高度其实是一致的,所以,用这个进行判断就OK了,但是,如何获得页面上元素距离页面的垂直距离呢?纯粹的js代码获得此值还是比较麻烦的,好在JavaScript库帮我们解决了这些工作,所以,我们的工作其实就很平坦,下面就将展示如何在jQuery库以及MooTools库下实现该效果。

三、jQuery下的层的智能浮动

方法代码如下:

打开demo页面,您会看到右侧自诩羞涩的浮动层了,滚动页面观察效果:
jQuery智能浮动demo效果截图 张鑫旭-鑫空间-鑫生活

四、MooTools下的层的智能浮动

与jQuery实现一样,MooTools库下也已经将此方法包装了起来,代码如下:

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 基于jQuery实现手风琴菜单、层级菜单、置顶菜单、无缝滚动效果
  • jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
  • jQuery滚动插件scrollable.js用法分析
  • 使用jQuery.Pin垂直滚动时固定导航
  • jquery平滑滚动到顶部插件使用详解
  • jquery中$.fn和图片滚动效果实现的必备知识总结
  • jquery实现图片平滑滚动详解
  • jQuery阻止移动端遮罩层后页面滚动
  • 基于jQuery实现一个marquee无缝滚动的插件
  • JQuery实现文字无缝滚动效果示例代码(Marquee插件)

相关文章

  • 2017-08-16jQuery自动完成插件completer附源码下载
  • 2017-08-16jQuery实现别踩白块儿网页版小游戏
  • 2017-08-16Jquery中CSS选择器用法分析
  • 2017-08-16jquery 层次选择器siblings与nextAll的区别介绍
  • 2017-08-16jQuery插件jqGrid动态获取列和列字段的方法
  • 2017-08-16jQuery validate 中文API 附validate.js中文api手册
  • 2017-08-16jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
  • 2017-08-16jQuery实用函数用法总结
  • 2017-08-16jquery 简单图片导航插件jquery.imgNav.js
  • 2017-08-16JQuery在循环中绑定事件的问题详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 浅谈jQuery为哪般去掉了浏览器检测
    • 多个jQuery版本共存的处理方案
    • jQuery实现精美的多级下拉菜单特效
    • jquery中show()、hide()和toggle()用法实例
    • jQuery实现可编辑表格并生成json结果(实例代码)
    • Jquery和JS获取ul中li标签的实现方法
    • jquery判断单选按钮radio是否选中的方法
    • jQuery.Form上传文件操作
    • jquery和javascript中如何将一元素的内容赋给另一元素
    • jQuery使用removeClass方法删除元素指定Class的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有