导航栏 滑到指定位置 固定住方法

 1 <!DOCTYPE HTML>
 2 <html lang="en-US">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title></title>
 6     <link rel="stylesheet" type="text/css" href="css/base.css" media="all"/>
 7     <style type="text/css">
 8     .wrapper{width:1000px;height:2000px;margin-left:auto;margin-right:auto;}
 9     .header{height:150px;}
10     #nav{padding:10px;position:relative;top:0;background:black;width:1000px;}
11     a{display:inline-block;margin:0 10px;*display:inline;zoom:1;color:white;}
12     </style>
13 </head>
14 <body>
15     <div class="wrapper">
16         <div class="header"></div>
17         <div id="nav">
18             <a href="#">11111</a>
19             <a href="#">22222</a>
20             <a href="#">33333</a>
21             <a href="#">44444</a>
22             <a href="#">55555</a>
23         </div>
24     </div>
25 </body>
26 </html>
27 <script type="text/javascript" src="menuFixed.js"></script>
28 <script type="text/javascript">
29 window.onload = function(){
30     menuFixed(‘nav‘);
31 }
32 </script>

方式一:

 1 //js代码
 2
 3 function menuFixed(id){
 4     var obj = document.getElementById(id);
 5     var _getHeight = obj.offsetTop;
 6
 7     window.onscroll = function(){
 8         changePos(id,_getHeight);
 9     }
10 }
11 function changePos(id,height){
12     var obj = document.getElementById(id);
13     var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
14     if(scrollTop < height){
15         obj.style.position = ‘relative‘;
16         //obj.style.position = ‘fixed‘;此处的fixed 与 relative取决于你初始设定的div位置有关
17         //obj.style.top = "200px";
18     }else{
19         obj.style.position = ‘fixed‘;
20         //obj.style.position =‘fixed‘;
21        // obj.style.top = "101px";
22     }
23 }
24
25 window.onload=function(){menuFixed("dh");}//调用函数

方式二:

 1 //jquery 代码
 2
 3 $(function ()
 4 {
 5 var ie6 = /msie 6/i.test(navigator.userAgent)
 6 , dv = $(‘#dh‘), st;
 7 dv.attr(‘otop‘, dv.offset().top); //存储原来的距离顶部的距离
 8 $(window).scroll(function () //scroll函数,滚动函数
 9 {
10 st = Math.max(document.body.scrollTop || document.documentElement.scrollTop);
11 if (st >= parseInt(dv.attr(‘otop‘)))
12 {
13 if (ie6) {//IE6不支持fixed属性,所以只能靠设置position为absolute和top实现此效果
14 dv.css({ position: ‘absolute‘, top: st });
15 }
16 else if (dv.css(‘position‘) != ‘fixed‘)
17 dv.css({ ‘position‘: ‘fixed‘, top: 0 });
18 }
19 else if (st < parseInt(dv.attr(‘otop‘)))
20 dv.css({ ‘position‘: ‘absolute‘,top:500px });
21 });
22 });
时间: 2024-10-17 08:44:58

导航栏 滑到指定位置 固定住方法的相关文章

iOS 调整导航栏返回按钮的位置

调整导航栏返回按钮的位置 //创建返回按钮 UIButton * leftBtn = [UIButton buttonWithType:UIButtonTypeSystem]; leftBtn.frame = CGRectMake(0, 0, 25,25); [leftBtn setBackgroundImage:[UIImage imageNamed:@"icon_back"] forState:UIControlStateNormal]; [leftBtn addTarget:se

Ios导航栏返回到指定的页面

在自己的项目实现中有这样的一个需求.一般情况下我们的导航栏返回按钮,是上个页面跳转过来,点击返回按钮返回到上来界面.但是在实际需求中有的并不是这么简单的.有的界面返回是只确定的界面.所以当时自己在实现的时候因为不太了解跳转的机制,导致无法实现.后来在老大,路哥(大牛)的知道下明白了.首先我们要知道导航栏的跳转是通过栈的形式进行的.所以我们每次跳转时,就会在栈里多出一个界面的对象.栈中的数就会增加,当我们需要返回跳转到前面的某一个界面时,需要我们在栈中寻找这个界面.我们需要一个数组来存放信息,当找

【Android基础篇】TabHost导航栏添加标签页的三种方法

使用TabHost实现的导航栏有三种添加页面的方法,分别是直接在布局代码的tab里面添加:通过include标签添加:通过Java代码指定另一个Activity添加.下面是三种方法的示例: 直接在布局代码的tab里面添加标签页 使用拖控件拖出来的TabHost,在它的布局层次上会有三个LinearLayout,id分别为tab1.tab2.tab3,如下图所示: 然后我们可以新建一个Layout,在这个Layout里设计好界面后,将xml代码直接放入tab(1.2.3)的标签里,如下图所示,将设

聊天界面使用IQKeyboardManager导航栏及整个页面上移的解决方法

问题: 使用第三方库IQKeyboardManager时会使整个页面上移,导航栏页偏移出了显示范围.在聊天界面就会使得上面的消息看不到. 解决方法: 首先说明:在聊天界面使用IQKeyboardManager这个第三方库无法解决这个问题,至少我没找到解决办法.网上说的那些用ib创建UI,把控制器的view改成scrollview,或纯代码创建UI,重写loadView方法,然后把self.view = scrollview的解决方法会把布局搞乱.没有试,太麻烦.解决思路:在聊天页面禁用IQKey

横向滑动的HorizontalListView滑动指定位置的解决方法

项目中用到了自定义横向滑动的控件:HorizontalListView,点击其中一项,跳转到另外一个大图界面,大图界面也是HorizontalListView,想使用setSelection方法设定 项目中用到了自定义横向滑动的控件:HorizontalListView,点击其中一项,跳转到另外一个大图界面,大图界面也是HorizontalListView,想使用setSelection方法设定到点击的位置,却发现这个开源的代码没有实现这个方法.解决方法如下: 1.HorizontalListV

MFC 窗口滑入指定位置

//1.添加用到的成员变量及 函数 class CxxxDialog : public CDialog { //... private: //窗口的尺寸(大小) CSize m_szWindow; //开始滑动挪动窗口位置 bool m_bHide; //滑动次数 int m_nSildeCount; //父窗口的位置 CRect m_rcParentPos; protected: //初始化参数 afx_msg void OnTimer(UINT nIDEvent) ; void InitSl

iOS开发笔记13:顶部标签式导航栏及下拉分类菜单

当内容及分类较多时,往往采用顶部标签式导航栏,例如网易新闻客户端的顶部分类导航,最近刚好有这样的应用场景,参考网络上一些demo,实现了这种导航效果,记录一些要点. 效果图(由于视频转GIF掉帧,滑动和下拉动画显得比较生硬,刚发现quickTime可以直接录制手机视频,推荐一下,很方便) 1.顶部标签式导航栏 (1)实现思路 其实就是在上下两个UIScrollView上做文章,实现联动选择切换的效果. ①顶部标签导航栏topCategoryListScrollView加载显示分类数据,下方con

仿知乎/途家导航栏渐变文字动画效果-b

demo.gif 效果图如上,简单分析下 1.导航栏一开始是隐藏的,随着scrollView滚动而渐变 2.导航栏左右两边的navigationItem是一直显示的 3.导航栏参考了途家app,使用了毛玻璃效果,背景是一张图片 4.下拉放大图片效果 5.title文字动画效果 通过简单分析,系统的导航栏实现以上效果有点困难,直接自定义一个假的导航栏更容易点 分布拆解实现以上效果 一.下拉放大header图片 - (void)viewDidLoad {        [super viewDidL

Android粘性控件,滑动停留StickLayout(导航栏滑动停留)

我们平时在使用APP的时候,经常可以见到一些导航栏滑到顶端就停留,而下面的控件可以接着滑动:今天,我就给大家介绍一个非常好用的滑动粘性控件StickLayout,它不仅可以让其任意一个直接子控件滑动停留在顶端,而且还可以设置滑动到指定直接子控件,并且配有滑动改变监听,可以轻松实现滑动时的联动操作:我们用该控件就可以轻松实现像支付宝"所有应用"界面效果,下面我们就一起学习一下吧. ???首先,我们来看一下效果演示图: Note:图1为设置属性wkp_canScrollToEndViewT