为了账号安全,请及时绑定邮箱和手机立即绑定

我通过用CSS表达式,在JS里做判断,但一直报错,这是为什么啊?

我通过用CSS表达式,在JS里做判断,但一直报错,这是为什么啊?

森栏 2023-04-26 15:15:10
如题,今天第一次遇到,就是一个固定的导航菜单,我知道有人要告诉我,你可以用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)代码写的不好,请忽鄙视。
查看完整描述

1 回答

?
www说

TA贡献1775条经验 获得超8个赞

这里的判断条件有问题,API文档里的说明:

我们不推荐使用jQuery.browser这个属性,请尝试使用功能检测来代替(见jQuery.support)。 jQuery.browser在未来的版本中可能会转移到一个jQuery插件。

以下这个判断条件失效了,所以导致报错。

if($.browser.msie) {

可以用jQuery.support来做浏览器判断

if(!jQuery.support.leadingWhitespace) {


查看完整回答
反对 回复 2023-04-29
  • 1 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信