2014-12-04 157 views
0

我想知道如果有人能幫我一點點的jquery im試圖寫。jQuery - 隱藏/顯示不顯示div和顯示錯誤

我對jQuery相當新,所以這是一個簡單的問題。

我有「對箱」

的ID我想要當按下菜單項,其進出視口的滑動格。

我有以下jQuery。

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#menu-item-1 a').click(function() { 
      if($('#about-box:visible').length) 
       $('#about-box').hide("slide", { direction: "left" }, 1000); 
      else 
       $('#about-box').show("slide", { direction: "left" }, 1000); 
     }); 
    }); 
</script> 

但我收到以下錯誤消息:

Uncaught TypeError: undefined is not a function 

任何得到這個工作將不勝感激幫助。

+0

'($( '#約箱:可見')長度)'是不是條件 – Rafael 2014-12-04 02:04:47

+0

@Rafael是的,它是,看到這裏:http://jsfiddle.net/33wcn31p/ – ekad 2014-12-04 02:11:15

+0

@ekad,不應該是這樣嗎? 「if($('#about-box')。is(」:visible「)){...」 http://jsfiddle.net/33wcn31p/1/ – 2014-12-04 02:39:59

回答

3

我認爲這個問題是你不包括在你的頁面的jQuery UI的,你已經使用了show/hide實現需要的jQuery UI

$(document).ready(function() { 
 
    $('#menu-item-1 a').click(function() { 
 
    if ($('#about-box').stop(true, true).is(':visible')) { 
 
     $('#about-box').hide("slide", { 
 
     direction: "left" 
 
     }, 1000); 
 
    } else { 
 
     $('#about-box').show("slide", { 
 
     direction: "left" 
 
     }, 1000); 
 
    } 
 
    }); 
 
});
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.js"></script> 
 
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/redmond/jquery-ui.css"> 
 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.js"></script> 
 

 
<div id="menu-item-1"><a>menu-item-1 a</a></div> 
 
<div id="about-box">about-box</div>

您還可以使用jQueryUI toggle

$(document).ready(function() { 
 
    $('#menu-item-1 a').click(function() { 
 
    $('#about-box').toggle("slide", { 
 
     direction: "left" 
 
    }, 1000); 
 
    }); 
 
});
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.js"></script> 
 
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/redmond/jquery-ui.css"> 
 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.js"></script> 
 

 
<div id="menu-item-1"><a>menu-item-1 a</a></div> 
 
<div id="about-box">about-box</div>

+0

這有效...謝謝 – BigJobbies 2014-12-04 02:45:28

-2

$('#about-box:visible')是一個錯誤的選擇,我想你可以切換關於盒按鈕類或縮小

-1

,因爲文件是肯定的一個很好的元素的不確定是不是準備好 決定幻燈片:可見看起來不錯看到這裏http://api.jquery.com/visible-selector/

所以undefined必須在這裏$('#menu-item-1 a')。點擊或在你的頁面中的其他代碼或執行就緒。

嘗試找到位置。刪除如果其他。未定義的投擲?如果是,$('#menu-item-1 a')不解決。

希望它幫助

-1

嘗試改變選擇到

$('#about-box').is(':visible')