Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向滚动功能添加响应条件_Javascript_Scroll_Width_Conditional Statements - Fatal编程技术网

Javascript 向滚动功能添加响应条件

Javascript 向滚动功能添加响应条件,javascript,scroll,width,conditional-statements,Javascript,Scroll,Width,Conditional Statements,我使用一个简单的脚本来创建一个粘性导航标题,但我想知道如何为更小的屏幕添加一个条件。下面是脚本: $(document).ready(function() { var aboveHeight = $('#top_menu').outerHeight(); $(window).scroll(function(){ if ($(window).scrollTop() > aboveHeight){ $('.menu').addClass(

我使用一个简单的脚本来创建一个粘性导航标题,但我想知道如何为更小的屏幕添加一个条件。下面是脚本:

$(document).ready(function() {
    var aboveHeight = $('#top_menu').outerHeight();
    $(window).scroll(function(){
        if ($(window).scrollTop() > aboveHeight){
            $('.menu').addClass('fixed').css('top','0').next().css('padding-top','100px');
        } 
        else {
            $('.menu').removeClass('fixed').next().css('padding-top','30px');
        }
    });
});
我想将addClass padding top(第5行)的值从100px更改为30px,屏幕宽度小于600px。比如:

if (window.width <= 600)

if(window.width您可以根据window.innerWidth值存储和设置padding top值,如下所示:

$(document).ready(function() {
  var aboveHeight = $('#top_menu').outerHeight(),
      windowWidth = window.innerWidth,
      menuPaddingTop = '100px';

  // Add additional statements to this if needed
  if (windowWidth <= 600) {
    menuPaddingTop = '30px';
  }

  $(window).scroll(function(){
      if ($(window).scrollTop() > aboveHeight){
          $('.menu').addClass('fixed').css('top','0').next().css('padding-top', menuPaddingTop);
      } 
      else {
          $('.menu').removeClass('fixed').next().css('padding-top','30px');
      }
  });
});
$(文档).ready(函数(){
var overheight=$(“#顶部菜单”).outerHeight(),
windowWidth=window.innerWidth,
menuPaddingTop='100px';
//如果需要,可在此基础上添加其他语句
if(窗宽高于高度){
$('.menu').addClass('fixed').css('top','0').next().css('padding-top',menuPaddingTop);
} 
否则{
$('.menu').removeClass('fixed').next().css('padding-top','30px');
}
});
});

你可以这样做:
$('.menu').addClass('fixed').css('top','0').next().css('padding-top',window.width')谢谢你的答案杰夫,但当我使用它时,我的导航标题会变得粘粘的。是的,非常感谢你,乔希。它工作得很好:)很遗憾,我不能投票支持你的答案,因为我需要更多的声望点。但那太棒了,再次感谢你。