2010-10-13 84 views
3

我正在使用jquery按鈕集,這是內置到JQuery UI。和selectmenu這是一個用戶界面插件。問題當刪除顯示:無與JQuery

.buttonset();採取一組按鈕,並製造成單選按鈕 .selectmenu();選擇一個菜單並將其變成一個漂亮的彈出列表。

但是,當我將這些項目放置在屬性爲display:none的div中,然後在我的javascript代碼中刪除顯示:none buttonset沒有圓角,選擇菜單顯示大約2 px寬,儘管我仍然可以點擊這兩個像素來打開菜單。

任何想法?我會後我的代碼:

.hidden 
{ 
    display:none; 
} 


     $("#test").selectmenu(); 
     $("#radioset").buttonset(); 

<div id="mydisplay" class="hidden"> 
    <div id="radioset"> 
         <input type="radio" id="radio1" name="radio" /><label for="radio1">Choice 1testetstes</label> 
         <br /><input type="radio" id="radio2" name="radio" checked="checked" /><label for="radio2">Choice 2</label> 
         <br /><input type="radio" id="radio3" name="radio" /><label for="radio3">Choice 3</label> 
        </div> 
    <select name="test" id="test"> 
      <option value="slow">Test1</option> 
      <option value="test2">Test2</option> 
      <option value="test3">Test3</option> 
      </select> 
</div> 

,在某些時候我稱之爲:

$("#mydisplay").removeClass("hidden"); 

但對象不正確顯示...我能迫使他們重新渲染的東西?

回答

1

而不是刪除將元素的顯示設置爲none的類,請使用display:block;在.hidden類的css中。然後使用$('。hidden')。hide()以及$('。hidden')。show()來隱藏和顯示整個事物。

像這樣:

$(document).ready(function(){ 
    $('.hidden').hide(); 
    $('.someButtonThatShowsStuff').click(function(){ 
     $('.hidden').show(); 
        $("#test").selectmenu(); 
        $("#radioset").buttonset(); 
    }); 
}); 

編輯:修改表示中的元素之後應用所述視覺插件的代碼。

+0

當我呼叫演出時,選擇對象無法正常顯示的效果相同。 – kralco626 2010-10-13 11:20:37

+0

您可能想要在顯示元素後嘗試應用插件。我修改了這個效果的答案。 – 2010-10-13 12:23:13

+0

呃。我希望我不必這樣做。我有很多div,我經常隱藏和顯示。在顯示/隱藏div之後,必須動態地應用插件是非常煩人的。我會盡力讓你知道... – kralco626 2010-10-13 13:32:05