Javascript 为什么赢了';这个脚本不能在Safari或Chrome上运行吗?

Javascript 为什么赢了';这个脚本不能在Safari或Chrome上运行吗?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,它在Firefox上完美地工作。对于Chrome和Safari,我的“calc”变量似乎都不起作用。() 感谢任何类型的帮助 var hidetop = $("#hidetop"); var range = $("#hidetop").height(); var body = $("#wrappercover"); $(document).on('scroll', function() { var scrollTop = $(this).scrol

它在Firefox上完美地工作。对于Chrome和Safari,我的“calc”变量似乎都不起作用。()

感谢任何类型的帮助

    var hidetop = $("#hidetop");
    var range = $("#hidetop").height();
    var body = $("#wrappercover");

    $(document).on('scroll', function() {

      var scrollTop = $(this).scrollTop();
      var offset = hidetop.offset().top;
      var height = hidetop.outerHeight();
      offset = offset + height;
      var calcA = 1 - (scrollTop - offset + range) / range;

      hidetop.css({
        'opacity': calcA
      });

      if (calcA > '1') {
        hidetop.css({
          'opacity': 1
        });
      } else if (calcA < '0') {
        hidetop.css({
          'opacity': 0
        });
      }
    });
var hidetop=$(“#hidetop”);
变量范围=$(“#隐藏点”).height();
变量主体=$(“#包装封面”);
$(文档).on('scroll',function(){
var scrollTop=$(this.scrollTop();
var offset=hidetop.offset().top;
var height=hidetop.outerHeight();
偏移=偏移+高度;
var calcA=1-(滚动顶部-偏移+范围)/范围;
hidetop.css({
“不透明度”:距
});
如果(calcA>1'){
hidetop.css({
“不透明度”:1
});
}否则如果(calcA<'0'){
hidetop.css({
“不透明度”:0
});
}
});

我可以看到您的变量中有一个数字,但您正在与字符串值进行比较:

if (calcA > '1') {
//----------^^^--------is not a number
else if (calcA < '0') {
//---------------^^^--------is not a number

我可以看到您的变量中有一个数字,但您正在与字符串值进行比较:

if (calcA > '1') {
//----------^^^--------is not a number
else if (calcA < '0') {
//---------------^^^--------is not a number

也许你应该把
标记放在
标记之前。我的javascript不起作用,但在我这样做之后它起作用了。

也许你应该把
标记放在
标记之前。我的javascript不起作用,但在我这样做之后它就起作用了。

我想如果id为“hidetop”的div没有完成加载,$(“#hidetop”)将无法正常工作

所以你可以试试这个:

$(function() {
var hidetop = $("#hidetop");
    var range = $("#hidetop").height();
    var body = $("#wrappercover");

    $(document).on('scroll', function() {

      var scrollTop = $(this).scrollTop();
      var offset = hidetop.offset().top;
      var height = hidetop.outerHeight();
      offset = offset + height;
      var calcA = 1 - (scrollTop - offset + range) / range;

      hidetop.css({
        'opacity': calcA
      });

      if (calcA > '1') {
        hidetop.css({
          'opacity': 1
        });
      } else if (calcA < '0') {
        hidetop.css({
          'opacity': 0
        });
      }
    });
})
$(函数(){
var hidetop=$(“#hidetop”);
变量范围=$(“#隐藏点”).height();
变量主体=$(“#包装封面”);
$(文档).on('scroll',function(){
var scrollTop=$(this.scrollTop();
var offset=hidetop.offset().top;
var height=hidetop.outerHeight();
偏移=偏移+高度;
var calcA=1-(滚动顶部-偏移+范围)/范围;
hidetop.css({
“不透明度”:距
});
如果(calcA>1'){
hidetop.css({
“不透明度”:1
});
}否则如果(calcA<'0'){
hidetop.css({
“不透明度”:0
});
}
});
})
如果id为“hidetop”的div未完成加载,我猜$(“#hidetop”)将无法正常工作

所以你可以试试这个:

$(function() {
var hidetop = $("#hidetop");
    var range = $("#hidetop").height();
    var body = $("#wrappercover");

    $(document).on('scroll', function() {

      var scrollTop = $(this).scrollTop();
      var offset = hidetop.offset().top;
      var height = hidetop.outerHeight();
      offset = offset + height;
      var calcA = 1 - (scrollTop - offset + range) / range;

      hidetop.css({
        'opacity': calcA
      });

      if (calcA > '1') {
        hidetop.css({
          'opacity': 1
        });
      } else if (calcA < '0') {
        hidetop.css({
          'opacity': 0
        });
      }
    });
})
$(函数(){
var hidetop=$(“#hidetop”);
变量范围=$(“#隐藏点”).height();
变量主体=$(“#包装封面”);
$(文档).on('scroll',function(){
var scrollTop=$(this.scrollTop();
var offset=hidetop.offset().top;
var height=hidetop.outerHeight();
偏移=偏移+高度;
var calcA=1-(滚动顶部-偏移+范围)/范围;
hidetop.css({
“不透明度”:距
});
如果(calcA>1'){
hidetop.css({
“不透明度”:1
});
}否则如果(calcA<'0'){
hidetop.css({
“不透明度”:0
});
}
});
})

代码是否包装在document.ready中?代码是否包装在document.ready中