与Jquery不同,当宽度屏幕为1050px时删除类

好的我现在知道如何删除窗口宽度的abd add class。

但现在我正在努力解决这个问题:

我要这个:

var num = 90; //number of pixels before modifying styles $(window).bind('scroll', function () { if ($(window).scrollTop() > num) { $('#menu2').addClass('f-nav'); } else { $('#menu2').removeClass('f-nav'); } }); 

使用这个:

 function checkWidth() { if ($(window).width() > 1049) { $('#menu2').addClass('f-nav'); } else { $('#menu2').removeClass('f-nav'); } } $(window).resize(checkWidth); 

换句话说,

当我滚动它必须添加一个类,但是当它resize时它必须删除类+它也必须在我向上滚动时删除。

根据你的评论@Lashus的回答

 | | > 1050px | < 1050px | +----------------------------+ | top | - | - | | down | + f-nav | - f-nav | 

这意味着,在顶部不执行任何操作,但在向下滚动时添加或删除f-nav

 $(window).bind('scroll', function () { if ($(window).scrollTop() > num) checkWidth(); }); 

的jsfiddle

另请注意.bind().on()的注释

从jQuery 1.7开始,.on()方法是将事件处理程序附加到文档的首选方法。

在这种情况下,您不能在不使用javascript的情况下更改类。 但是,您可以使用CSS Media查询来更改不同设备上给定类的行为。

示例如下:

 (CSS) .f-nav { color: #fff; } @media screen AND (max-width: 1050px) { .f-nav { color: #000; } }