添加新的if语句时,javascript函数无法正常工作

时间:2015-07-17 10:53:53

标签: javascript css

我有一个功能,可以在滚动后将导航侧边栏固定在顶部。但是当我的屏幕最小化顶部缩短的徽标和导航的位置发生变化时,我写了另一个' if'在第一个解决问题的内部功能。现在位置是正确的但导航侧栏在滚动时固定在顶部。请你帮我....功能如下....

$(function() {
       var stickyHeaderTop = $('#myScrollspy').offset().top;
       var yy = document.getElementById("cor").clientHeight;
       $(window).scroll(function() {
           if ($(window).scrollTop() > stickyHeaderTop) {

               $('#myScrollspy').css({
                   position: 'fixed',
                   top: '8px',
                   left: '0px'
               });

               $('#my').css({
                   position: 'absolute',
                   right: '0px'
               });

           } else {
               setInterval(function() {
                   if (yy < '490') {

                       var yu = '500' - yy;

                       $('#myScrollspy').css({
                           position: 'absolute',
                           top: ''
                           700 '-yy',
                           left: '0px'
                       });
                       $('#my').css({
                           position: 'absolute',
                           right: '0px'
                       });
                   }
               }, 30);
           }
       });
   });

1 个答案:

答案 0 :(得分:2)

您有一些语法问题,请在下面的评论中提到它们。

              if (yy < 490) { //syntax issue here
                       var yu = 500 - yy; //syntax issue here

                       $('#myScrollspy').css({
                           position: 'absolute',
                           top: (700 - yy)+'px', //syntax issue here
                           left: '0px'
                       });
                       $('#my').css({
                           position: 'absolute',
                           right: '0px'
                       });
                   }

document.getElementById("cor").clientHeight将返回一个int(数字)。

检查element.clientHeight

  

注意:此属性将值舍入为整数。如果您需要小数值,请使用element.getBoundingClientRect()