超出指定距离固定导航(微信浏览器页面没有加载完获取控件属性办法)
2016-09-07 18:02
447 查看
工作需求 —— 首页banner图下面有一个产品筛选导航,当往下滑动,筛选栏被遮盖的时候要求筛选栏固定在顶部,即内容不会被隐藏,永远显示在最顶端。
解决思路:
获取筛选栏到body顶部的距离,如果滚动条的距离大于筛选栏到顶部的距离就让其固定在顶部
问题:
发现在“微信”浏览器中,页面加载完获取筛选div控件到body顶部的距离不正确,因为,图片等信息没有加载完成,导致页面还没有完全被“撑开”,导致获取的数据不正确
解决思路:
1、需要等待页面内容加载完毕之后,再获取筛选div控件到body顶部的距离。
2、在页面出现滚动条的时候,表示页面已经被撑开了,内容已经下载完成。那么,在第一次滚动条变化的时候获取div控件到body顶部的值。
大小: 75.4 KB
查看图片附件
解决思路:
获取筛选栏到body顶部的距离,如果滚动条的距离大于筛选栏到顶部的距离就让其固定在顶部
问题:
发现在“微信”浏览器中,页面加载完获取筛选div控件到body顶部的距离不正确,因为,图片等信息没有加载完成,导致页面还没有完全被“撑开”,导致获取的数据不正确
解决思路:
1、需要等待页面内容加载完毕之后,再获取筛选div控件到body顶部的距离。
2、在页面出现滚动条的时候,表示页面已经被撑开了,内容已经下载完成。那么,在第一次滚动条变化的时候获取div控件到body顶部的值。
//过滤条件div监听器,判断是否固定在顶部; //使用闭包 function filterDivListerner(){ //顶部过滤div距离body控件的距离 var top_filter_div ; //用户标记是否滚动了滚动条 var flag = true; window.onscroll = function(){ //获取滚动条的高度 var t = document.documentElement.scrollTop || document.body.scrollTop; //第一次滚动的时候记录“过滤div”距离顶部的距离 //出现了滚动条,则表明图片已经加载完毕了,解决页面代码加载完之后,内容没有显示出来导致获取控件属性不准确的问题 if(flag){ flag = false; //页面加载完之后获取控件距离顶部的距离,适配不同尺寸的显示器 top_filter_div = document.getElementById( "filter_div").offsetTop; } //滚动条的高度 加上 控件自身高度时 小于 控件距离body的高度 则不固定在顶部 if(t + 40 < top_filter_div){ $(filter_div).css({ position:"relative" }); }else{ //滚动条的高度 加上 控件自身高度时 大于 控件距离body的高度 则固定在顶部 $(filter_div).css({ position:"fixed" }); } } } $(function(){ filterDivListerner() });
大小: 75.4 KB
查看图片附件
相关文章推荐
- 页面加载时通过获取GridView某行某列的值来控制某一列的控件属性
- asp.net(c#)页面加载时添加控件的属性和回车问题
- Jquery :动态给Table指定行或尾行插入tr和相关,遍历页面所有控件获取id
- 用户控件提示没有指定HtmlGenericControl的ID属性是什么错误
- 如何获得当前屏幕顶端距离整个页面最上端的距离(即js获取浏览器滚动条距离顶端的距离)
- js获取指定节点对象的样式属性的值的封装函数(兼容ie、Opera和符合w3c标准浏览器)
- asp.net(c#)页面加载时添加控件的属性和回车问题
- 路径浏览器举例说明android编程中获取不到指定文件夹中的内容的原因及解决办法
- 页面部分有些easyui验证控件没有小图标的解决办法
- 手机浏览器判断,窗口宽度,获取当前页面的顶端到页面顶端的距离
- 让页面目标元素 “固定” 在浏览器窗口的顶部 stickUp+jQuery.pin 插件 使用 单页导航
- net控件中数据导到Excel的格式 首先,我们了解一下excel从web页面上导出的原理。当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取它,所以把mime类型设为:application/vnd.ms-excel,当excel读取文件时会以每个cell的格式呈现数据,如果cell没有规定的格式,则excel会以默认的格式去呈现该cell的数据。这样就给我们提供了自定义数据格式的空间,当然我们必须使用excel支持的格式。下面就列出常用的一些格式: 1) 文本
- JS获取页面input控件中所有text控件并追加样式属性
- C:\Windows\system32\MSVCR100.dll 没有被指定在 Windows 上运行,或者它包含错误。请尝试使用原始安装媒体重新安装程序,或联系您的系统管理员或软件供应商以获取支持。【解决办法】
- 页面没有绘制完成,获取控件大小
- 浏览器页面中交互控件的自动加载
- 在C# ASP.NET中,要添加属性到控件中 在HTML页面获取控件中自己定义属性和值
- 获取浏览器指定控件的尺寸
- c#中获取webbrowser控件加载页面中的链接的地址
- js获取指定节点对象的样式属性的值的封装函数(兼容ie、Opera和符合w3c标准浏览器)