多条件窗口宽度和

时间:2014-02-20 17:30:32

标签: jquery width scrolltop

我正在尝试根据两个条件触发类删除:一个小于760像素的窗口和一个滚动> 0.

这是我的剧本:

<script type="text/javascript">
    $(window).resize(function() {
        var $windowWidth = window.innerWidth
    }
    $(window).scroll(function() {
        if (($(window).scrollTop() > 0) && ($windowWidth <= 760)) {
            $("nav").removeClass("horizontal").addClass("vertical");
        }
    });
    });
</script>

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

<强> LIVE DEMO

您不需要2个类,只需要一个,.vertical假设默认值是另一个。

<nav class="horizontal">NAV</nav>

你很亲密,创造了一个功能:

function checkWin(){
  var winInnW = window.innerWidth;
  var winScrT = $(window).scrollTop();
  var s0w760  = winScrT>0 && winInnW<=760; // Boolean
  $("nav").toggleClass("vertical", s0w760);
}

checkWin(); // on DOM ready also
$(window).on('resize scroll', checkWin);

<小时/> 如果你感到舒服,这是一个oneliner

function checkWin(){
   $("nav").toggleClass("vertical", $(window).scrollTop()>0 && window.innerWidth<=760);
}