jQuery的 - 相同的元素

问题描述:

使用特定的窗口宽度addClass与toggleClass我有一个关于调整大小添加类jQuery的功能,帮助我表现上有一定的窗口尺寸的元素:jQuery的 - 相同的元素

<div class="v-menu"></div> 
<div id="menu"> 
    <a href="#">a</a> 
    <a href="#">b</a> 
    <a href="#">c</a> 
</div> 

(function($) { 
     var $window = $(window), 
      $html = $('#menu'); 
     function resize() { 
      if ($window.width() < 612) { 
       return $html.addClass('close'); 
      } 
      else{ 
      $html.removeClass('close'); 
      $html.removeClass('open'); 
      $('*[class=""]').removeAttr('class'); 
      } 
     } 
     $window 
      .resize(resize) 
      .trigger('resize'); 
    })(jQuery); 

,我可以切换到另一个功能:

$(".v-menu").click(function(){ 
$("#menu").toggleClass("open"); 
$("#menu").toggleClass("close"); 
}); 

问题是如果我切换元素打开然后调整窗口大小的jQuery不断增加的close类元素:

<div id="menu" class="open close"> 
    <a href="#">a</a> 
    <a href="#">b</a> 
    <a href="#">c</a> 
</div> 

我该如何解决呢?

+0

它是什么,你要完成?现在,当您调整窗口大小并且窗口宽度低于612时,总会添加'.close' –

+0

似乎喜欢您可以使用css中的@media查询来做的事情。根据窗口大小显示/隐藏元素。 https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries –

+0

@NiekNijland我不希望'open'类添加open类时添加。 – newbie

基于您的评论

我不想有近类中添加公开课加时。

https://api.jquery.com/hasclass/

if ($window.width() < 612){ 
     if(!$html.hasClass('open')) { 
        return $html.addClass('close'); 
     } 
}