固定导航菜单怎么完全兼容
如题,是个老问题了,今天第一次遇到,就是一个固定的导航菜单,我知道有人要告诉我,你可以用
poistion:fixed;
这个我知道,可IE6呢不行了,还有两种方案?一种是动画运动到位置,这个不适用我的需求,因为是一个导航菜单,类似于,美丽说和聚美优品,等网站的导航。
我通过用CSS表达式,在JS里做判断,但一直报错。有没有人做过,或者给段代码,或者指点一下。
(function ($) { var win = window, $navTop = $(".topnav"), $cloneTop = $navTop.clone(), TopValue = $navTop.offset().top; $navTop.after($cloneTop).css({ width: $navTop.width() }).hide(); $(win).bind("scroll",function () { var scrollTop = $(document).scrollTop(), scrollLeft = $(document).scrollLeft(); if($.browser.version == 7) { if(scrollTop >= TopValue) { $cloneTop[0].style.position = "absolute"; $cloneTop[0].style.backgroundColor = "red"; $cloneTop[0].style.top ='expression(eval(document.documentElement.scrollTop'+100+'))'; } } else { if(scrollTop >= TopValue) { $cloneTop.css({ "position" : "fixed", "top" : "0" }).show(); } else if(scrollTop < TopValue) { $cloneTop.hide(); $navTop.show(); } } }) })(jQuery)
代码写的恶心,请忽鄙视。
olkko
11 years, 1 month ago
Answers
这里的判断条件有问题,根据 http://www.css88.com/jqapi-1.9/jQuery... 这里的API文档里的说明:
我们不推荐使用jQuery.browser这个属性,请尝试使用功能检测来代替(见jQuery.support)。 jQuery.browser在未来的版本中可能会转移到一个jQuery插件。
以下这个判断条件失效了,所以导致报错。
if($.browser.msie) {
可以用jQuery.support来做浏览器判断
if(!jQuery.support.leadingWhitespace) {
宇宙.棒子?
answered 11 years, 1 month ago