给你个思路吧:
创新互联专注于企业营销型网站建设、网站重做改版、揭东网站定制设计、自适应品牌网站建设、H5高端网站建设、购物商城网站建设、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为揭东等各大城市提供网站开发制作服务。
offset().top 悬浮窗在页面没滚动的时候与页面顶部的距离,这个距离只取了一次所以这个距离从开始就始终没变。
$(window).scrollTop() 是页面已经滚动的距离(是跟随你滚动不断变动的),就是你滚动条往下滚动的距离(页面可是区域顶端与原页面真实顶端的距离)
当页面滚动的时候触发函数$(window).scroll
然而悬浮窗又要保持页面打开时候的位置,那显然就是
悬浮窗原始与顶部距离+页面已经滚动过的距离;
需要准备的材料分别有:电脑、html编辑器、浏览器。
1、首先,打开html编辑器,新建html文件,例如:index.html,并引入jquery。
2、在index.html中的script标签,输入jquery代码:
$('body').append('height: ' + $(document).height() + 'br/');
$('body').append('width: ' + $(document).width());
3、浏览器运行index.html页面,此时会打印出界面最大可以滚动的文档宽度和文档高度。
主要功能:
获取浏览器显示区域(可视区域)的高度
:
$(window).height();
获取浏览器显示区域(可视区域)的宽度
:
$(window).width();
获取页面的文档高度
$(document).height();
获取页面的文档宽度
:
$(document).width();
浏览器当前窗口文档body的高度:
$(document.body).height();
浏览器当前窗口文档body的宽度:
$(document.body).width();
获取滚动条到顶部的垂直高度
(即网页被卷上去的高度)
$(document).scrollTop();
获取滚动条到左边的垂直宽度
:
$(document).scrollLeft();
获取或设置元素的宽度:
$(obj).width();
获取或设置元素的高度:
$(obj).height();
某个元素的上边界到body最顶部的距离:obj.offset().top;(在元素的包含元素不含滚动条的情况下)
某个元素的左边界到body最左边的距离:obj.offset().left;(在元素的包含元素不含滚动条的情况下)
返回当前元素的上边界到它的包含元素的上边界的偏移量:obj.offset().top(在元素的包含元素含滚动条的情况下)
返回当前元素的左边界到它的包含元素的左边界的偏移量:obj.offset().left(在元素的包含元素含滚动条的情况下)
//返回当前页面高度
function
pageHeight(){
if($.browser.msie){
return
document.compatMode
==
"CSS1Compat"?
document.documentElement.clientHeight
:
document.body.clientHeight;
}else{
return
self.innerHeight;
}
};
//返回当前页面宽度
function
pageWidth(){
if($.browser.msie){
return
document.compatMode
==
"CSS1Compat"?
document.documentElement.clientWidth
:
document.body.clientWidth;
}else{
return
self.innerWidth;
}
};
以下是其它网友的补充:
获取浏览器显示区域的高度
:
$(window).height();
获取浏览器显示区域的宽度
:$(window).width();
获取页面的文档高度
:$(document).height();
获取页面的文档宽度
:$(document).width();
获取滚动条到顶部的垂直高度
:$(document).scrollTop();
获取滚动条到左边的垂直宽度
:$(document).scrollLeft();
计算元素位置和偏移量:$(id).offset();
offset方法是一个很有用的方法,它返回包装集中第一个元素的偏移信息。默认情况下是相对body的偏移信息。结果包含
top和left两个属性。
offset(options,
results)
options.relativeTo指定相对计
算偏移位置的祖先元素。这个元素应该是relative或absolute定位。省略则相对body。
options.scroll是否把
滚动条计算在内,默认TRUE
options.padding是否把padding计算在内,默认false
options.margin
是否把margin计算在内,默认true
options.border是否把边框计算在内,默认true
子页面控制父页面:
parent.document.documentElement.scrollTop;
parent.document.documentElement.clientHeight;
JS或者jquery设置滚动条回到顶部的方法:
返回顶部:设置为body的scrollTop为0
滑动效果:animate(Jquery的自定义动画)
备注:returnTop为触发返回顶部的元素ID。
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。
script type="text/javascript" src=""/script
script
(function() {
new Headroom(document.querySelector("#nav-scroll"), { //这里的nav-scroll改为你的导航栏的id或class
offset : 5, // 在元素没有固定之前,垂直方向的偏移量(以px为单位)
tolerance: 5, // scroll tolerance in px before state changes
classes: {
initial: "animated", // 当元素初始化后所设置的class
pinned: "slideUp", // 向上滚动时设置的class
unpinned: "slideDown" // 向下滚动时所设置的class
}
}).init();
}());
/script
然后,加上样式就可以了:
.animated {position: fixed;top: 0;left: 0;right: 0;transition: all .2s ease-in-out;}
.animated .slideDown {top: -100px;}
.animated .slideUp {top: 0;}