2010-10-13 122 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