今天将和大家分享一个案例:如何在页面中固定导航栏,有一定的参考价值,希望对大家学习有所帮助。
在做导航栏时除了用我们熟悉的html和CSS来布局以外,还需要用到jQuery中scrollTop和scrollLeft知识,它们主要用于设置或者获取垂直滚动条的位置,根据页面被卷曲的高度来固定导航栏位置,接下来在文章中将和大家详细分享。
scrollTop
返回或设置匹配元素的滚动条的垂直位置。
$(selector).scrollTop(offset)
offset : 规定相对滚动条顶部的偏移,以像素为单位,可以写也可以不写
例: 获取页面被卷曲的高度
$(window).scrollTop();
scrollLeft
返回或设置匹配元素的滚动条的水平位置。
水平位置指的是从其左侧滚动过的像素数,
当滚动条位于最左侧时,位置是 0。
$(selector).scrollLeft(position)
position:规定以像素计的新位置,可以写也可以不写
滚动条的水平位置指的是从其左侧滚动过的像素数。当滚动条位于最左侧时,位置是 0。
例:获取页面被卷曲的宽度
$(window).scrollLeft();
案例分享:固定百度搜索栏
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{ padding:0; margin:0; } .all{ width:100%; height:2000px; } .box{ width:100%; height:75px; background-color: #fff; border: 1px solid #ccc; position: relative; } .sousu-left img{ position: absolute; top:20.5%; left:28.45%; } .box1{width:536px; height: 41px; border:1px solid #ccc; margin:16px auto; } .sousu-right span{ width:140px; height:41px; border:1px solid #ccc; color:#fff; background-color:rgb(51,136,255); text-align: center; line-height: 41px; font-size:14px; position: absolute; right:28.64%; top:19.69%; } .fixed{ position: fixed; left:0; top:0; } </style> </head> <body> <div> <div> <!-- 定义左边和右边两个盒子 --> <div> <img src="images/logo_top_86d58ae1.png"> <div></div> </div> <div> <span>百度一下</span> </div> </div> </div> <script src="jquery/jquery-1.12.4.js"></script> <script> $(function(){ $(window).scroll(function(){ if($(window).scrollTop()>=$(".box").height())判断当卷曲的高度大于box高度时给box添加一个fixed属性,使它固定在顶部 { $(".box").addClass("fixed"); } else{ $(".box").removeClass("fixed");如果小于则移除class属性 } }) }) </script> </body> </html>
总结:以上就是本篇文章的全部内容了,希望通过这个案例大家对scrollTop和scrollLeft的应用更加清楚
以上是如何通过jQuery在页面中固定导航栏的详细内容。更多信息请关注PHP中文网其他相关文章!