相信大家都遇到过滚动页面需要固定某些内容不跟随页面滚动而滚动的情况,以往项目中也比较多,一直没有分享,今天刚好有空,来做个小分享。

项目需求:

页面处于顶部时右侧“在线客服”静止不动

当页面往下滚动,右侧在线客服悬浮于顶部

页面滚动至最大高度时,右侧在线客服与左侧内容底部对齐,相对静止

思路:
页面处于顶部时只需右浮动即可,滚动超过本身高度时设置fixed使元素块可以固定悬浮于浏览器窗口顶部,当滚动至左侧内容最大高度时设置absolute使相对左侧内容静止

好了,我们看看具体代码吧。
HTML

<div class="proinfo clearfix"><div class="infoDelita">......</div><div class="slidebar"><div class="service"><div class="ti">——  咨询在线客服  ——</div>......</div></div>
</div>

CSS

.products .proinfo{ margin-top:30px; position:relative;}
.proinfo .infoDelita{ width:900px; float:left;}
.proinfo .slidebar{ width:295px; float:right;}.proinfo .service{ width:275px; background-color:#fff; padding:25px 0 38px 20px;}
.proinfo .service .ti{ text-align:center; color:#333; font-size:18px;}
.........
/*在线客服相对固定设置*/
.proinfo .SerFix{ position:fixed; top:0; z-index:100;}
.proinfo .SerAbs{ position:absolute; bottom:0;}

JS

var fdiv = $(".proinfo .service");
var itop = fdiv.offset().top;window.onload = function(){$(window).scroll( function() {var top = $(window).scrollTop();if(top >= itop){fdiv.addClass("SerFix");if(top >= $(".products .MayaLike").offset().top - 40 - $(window).height()){fdiv.removeClass("SerFix").addClass("SerAbs");} else{fdiv.removeClass("SerAbs");}} else{fdiv.removeClass("SerFix");}});
}

tips:
$(“.products .MayaLike”).offset().top - 40 是左侧内容下面的内容的相对高度。 如下图所示:

js实现页面滚动,菜单固定相关推荐

  1. html鼠标平滑滚动效果,JS特效代码 JS动态平滑滚动菜单效果

    JS特效代码 JS动态平滑滚动菜单效果 www.css5.net body {cursor:crosshair; background:#111; margin:0; padding:0; posit ...

  2. 页面滚动头部固定 背景色显现

    页面滚动头部固定 背景色显现 效果图 未滚动前 滚动后 结构代码: <div class="top" id="topdiv" :class="i ...

  3. WOW.js – 在页面滚动时展现动感的元素动画效果

    在一些网页上,当你滚动页面的时候会看到各式各样的元素动画效果,非常动感.WOW.js 就是一款帮助你实现这种 CSS 动画效果的插件,很容易定制,你可以改变动画设置喜欢的风格.延迟.长度.偏移和迭代等 ...

  4. jq实现页面滚动thead固定在顶部,仅tbody滚动

    jq实现页面滚动thead固定在顶部,仅tbody滚动 监听页面滚动 $(window).scroll(function () 获取窗口滚动高度 $(window).scrollTop() 总体思路: ...

  5. 动态效果html wow,WOW.js ? 在页面滚动时展现动感的元素动画效果_html/css_WEB-ITnose...

    在一些网页上,当你滚动页面的时候会看到各式各样的元素动画效果,非常动感.WOW.js 就是一款帮助你实现这种 CSS 动画效果的插件,很容易定制,你可以改变动画设置喜欢的风格.延迟.长度.偏移和迭代等 ...

  6. html导航栏页面切换的js,js实现页面滚动切换导航栏/点击导航栏跳转到指定位置...

    最近一直在弄页面的事情,对页面方面的知识又巩固了一下.这次的内容如题,大家对代码有疑问或者是有更好的方法欢迎留言! js部分 //标题对象 var title = document.getElemen ...

  7. js实现页面滚动切换导航栏/点击导航栏跳转到指定位置

    最近一直在弄页面的事情,对页面方面的知识又巩固了一下.这次的内容如题,大家对代码有疑问或者是有更好的方法欢迎留言! js部分 //标题对象       var title = document.get ...

  8. js控制页面滚动到指定位置,js中scrollIntoView()的用法

    js中scrillIntoView()的用法--页面滚动到指定位置 最近遇到一个问题,在一个页面上,点击某个按钮时,滚动到页面的某一位置. 如图: 如果是我写的话,我可能会先获取滚动到的元素,然后获取 ...

  9. 你也可以做一个小米魅族网站 WOW js WOW js – 在页面滚动时展现动感的元素动画效果

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 可视区域 ...

  10. 你也可以做一个小米魅族网站(WOW.js:WOW.js – 在页面滚动时展现动感的元素动画效果)

    可视区域动画: aos.js        :http://www.jq22.com/jquery-info8150 scrollReveal.js                :http://to ...

最新文章

  1. 2021.04.07 oppo HR面
  2. 场效应晶体管的几点使用知识!
  3. 怎么用python创建文件-如何用Python创建生成xml文档文件的方法
  4. 学生选课管理系统c语言程序报告,c语言课程设计学生选课管理系统实验报告.doc...
  5. 17种元器件PCB封装图鉴,美翻了
  6. Kali Linux2018 上安装open-vm-tools实现虚拟机交互
  7. 最新出炉-阿里 2020届算法工程师-自然语言处理(实习生)以及补充:快递最短路径
  8. Mybatis Plus————代码生成器
  9. opencv中Mat与IplImage,CVMat类型之间转换
  10. 马来西亚PHP项目_PHP大马的简单解密
  11. 华为魔术2手机拆机图解_华为手机荣耀Magic2手机维修拆机教程
  12. gnu stubs arch linux,编译Nachos源代码时出错“gnu/stubs-32.h:没有这样的文件或目录”...
  13. 用U盘安装ubuntu系统
  14. 中国高校IPv6升级成果初显,城市热点助力高校加快IPv6部署进程
  15. 计算机音乐谱毛不易,毛不易《平凡的一天》五线乐谱
  16. Stderr: VBoxManage.exe: error: VT-x is not available (VERR_VMX_NO_VMX) VBoxM
  17. 《MLB美职棒大联盟》:MLB最佳阵容·MLB新年也要身体倍棒
  18. (牛客每日一题)[SHOI2008]小约翰的游戏JOHN(Anti-Nim)
  19. 数据可视化Echarts学习指南
  20. 可由线性表示且表达式唯一_设3维向量 问:当λ取何值时, (1)β可由α1,α2,α3线性表出,且表达式唯一. (2)β可由α1,α2,α3线性表出,但...

热门文章

  1. 使用System.Drawing.Printing 画报表。
  2. 1 操作系统安全加固
  3. 阿里云智能图像识别服务发布
  4. 实验一:命令解释程序
  5. win7下装ubuntu双系统
  6. Urlrewritefilter使用说明
  7. 使用JS制作一个鼠标可拖的DIV(二)——限制区域移动
  8. 高性能的MySQL(8)优化服务器配置一安全与稳定
  9. C#ToString() 格式化数值
  10. 探寻安全管理平台(SOC)项目的关键成功因素(4)