JQuery添加底部固定导航条

最近项目需要在系统页面底部添加一个导航条,效果类似facebook。项目组成员上网查了一些办法,也下载了一些JQuery插件使用,但在IE6,IE7下面窗口纵向滚动会闪烁,而jquery.floatdiv有奇怪的运行错误。最后自己整理了一个简单的解决办法,在firefox3.5, IE6, IE7下测试通过。

 

需要固定在底部的DIV对象:

<div id="footpanel">i'm foot panel</div>

 

在firefox下,只要在css中指定

 

#footpanel {

position:fixed;

bottom: 0px;

}

就可以把footpanel固定在底部而且不闪烁,不需要额外的方法。

 

在IE6,IE7下,需要在css中添加

*html #footpanel { /*--IE6 Hack - Fixed Positioning to the Bottom--*/

margin-top: -1px; /*--Prevents IE6 from having an infinity scroll bar - due to 1px border on #footpanel--*/
position: absolute;
top:expression(eval(document.compatMode &&document.compatMode=='CSS1Compat') ?documentElement.scrollTop+(documentElement.clientHeight-this.clientHeight) : document.body.scrollTop +(document.body.clientHeight-this.clientHeight));
}

呃,上面的方法是从
http://www.sohtanaka.com/web-design/facebook-style-footer-admin-panel-part-1/
抄来的,将footpanel固定在页面底部。不要问我这个表达式是什么意思。

不过上面的样式添加之后,仍然不能解决在IE6,IE7下闪烁的问题,最后在jquery.floatdiv插件中发现了办法,改写为js代码:

if ($.browser.msie && $.browser.version >= 6 && $.browser <8) {
if ($("body").css("background-image") == "none") {
$("body").css({"background-image":"url(nothing.gif)", "background-attachment":"fixed"});
} else {
$("body").css({"background-attachment" : "fixed"});
}
}

核心思路就是body必须有一个background-image的样式,即使nothing.gif不存在也可以。

剩下的就是设置background-attachment为fixed。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用以下代码实现一个简单的jQuery百度新闻导航条: HTML代码: ```html <ul id="nav"> <li><a href="#">头条</a></li> <li><a href="#">娱乐</a></li> <li><a href="#">体育</a></li> <li><a href="#">科技</a></li> </ul> <div id="content"> <div class="news" id="news1"> <h2>头条新闻</h2> <p>这是一条头条新闻的内容。</p> </div> <div class="news" id="news2"> <h2>娱乐新闻</h2> <p>这是一条娱乐新闻的内容。</p> </div> <div class="news" id="news3"> <h2>体育新闻</h2> <p>这是一条体育新闻的内容。</p> </div> <div class="news" id="news4"> <h2>科技新闻</h2> <p>这是一条科技新闻的内容。</p> </div> </div> ``` CSS代码: ```css #nav li { display: inline; margin-right: 10px; } .news { display: none; } ``` jQuery代码: ```javascript $(document).ready(function() { // 默认显示第一条新闻 $('#news1').show(); // 导航条点击事件 $('#nav li a').click(function(e) { e.preventDefault(); // 获取当前点击的导航项的索引 var index = $(this).parent().index(); // 隐藏所有新闻内容 $('.news').hide(); // 显示对应索引的新闻内容 $('#news' + (index + 1)).show(); }); }); ``` 这段代码创建了一个带有导航条和新闻内容的简单页面。导航条是一个无序列表,每个导航项都是一个链接。新闻内容被包裹在带有唯一ID的`div`中。 使用jQuery,我们通过点击导航项来切换显示相应的新闻内容。点击导航项时,我们获取其索引,根据索引找到对应的新闻内容,并将其显示出来,同时隐藏其他新闻内容。 你可以根据需要修改HTML、CSSjQuery代码来适应你的实际需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值