Javascript jQuery Sticky插件可变顶部间距

Javascript jQuery Sticky插件可变顶部间距,javascript,jquery,css,settimeout,sticky,Javascript,Jquery,Css,Settimeout,Sticky,我正在使用将菜单和联系人信息粘贴到顶部。该站点响应迅速,因此菜单顶部的间距会发生变化。我试图根据联系人信息的CSS值来设置不同的间距,但这不起作用。我很确定我的jQuery是正确的 $(document).ready(function(){ function checkForFloat() { setTimeout(checkForFloat, 100); if($("#contact").css("float") === "none") { $("#h

我正在使用将菜单和联系人信息粘贴到顶部。该站点响应迅速,因此菜单顶部的间距会发生变化。我试图根据联系人信息的CSS值来设置不同的间距,但这不起作用。我很确定我的jQuery是正确的

 $(document).ready(function(){   
 function checkForFloat()
  {
    setTimeout(checkForFloat, 100);
    if($("#contact").css("float") === "none") {
      $("#headerbg2").sticky({topSpacing:180});   
    }
    else if (!$("#contact").css("float") === "none") {
      $("#headerbg2").sticky({topSpacing:120});
    }
  }
});

试试这个:

$(document).ready(function(){   
 function checkForFloat()
  {
    setTimeout(checkForFloat, 100);
    if($("#contact").css("float") === "none") {
      $("#headerbg2").sticky({topSpacing:180});   
    }
    else if ($("#contact").css("float") !== "none") {
      $("#headerbg2").sticky({topSpacing:120});
    }
  }
});

更改了“!”位置。

要从文档中动态更改粘性,需要先取消粘性并进行更新

$("#headerbg2").unstick() &  $("#headerbg2").sticky('update')
这也需要将
(!$(“#contact”).css(“float”)=“none”)
更改为
($(“#contact”).css(“float”)!=“none”)
其他{..}

演示动态调整窗口大小

代码

      $(document).ready(function () {
      $("#headerbg1").sticky({
          topSpacing: 0
      });

      function checkForFloat() {


          if ($("#contact").css("float") === "none") {
              $("#headerbg2").sticky({
                  topSpacing: 50
              });
          } else {
              $("#headerbg2").sticky({
                  topSpacing: 120
              });
          }
      }
      setTimeout(checkForFloat, 1000);


      window.addEventListener('resize', function (event) {
            $("#headerbg2").unstick()

          if ($("#contact").css("float") === "none") {
              $("#headerbg2").sticky({
                  topSpacing: 50
              });
              $("#headerbg2").sticky('update')
          } else {
              $("#headerbg2").sticky({
                  topSpacing: 120
              });
              $("#headerbg2").sticky('update')
          }
      })

  });

提供一个使用或演示问题的演示。给你。正如您所见,它适用于#headerbg1,但不适用于#headerbg2:您是否试图将蓝色条粘贴在浅蓝色条的下方?像这样是的,我试着坚持,但不像你那样简单。正如我提到的,我希望它在满足特定CSS条件时保持不变。在这种情况下,float:无;好的,在演示中,联系人从不浮动为“无”,当您更改为“检查是否正确”时,您可以看到它-,所以问题是,它何时更改为“无”?,没有任何区别