2012-04-27 17 views
36

Używam ukrytej klasy css, aby ukryć przycisk podczas wczytywania strony.Twitter Bootstrap ukryj klasę css i jQuery

Problem polega na tym, że gdy próbuję wyświetlić przycisk, który poprzednio ukryłem za pomocą jQuery, przycisk jest mniejszy.

(to samo się nie dzieje, gdy używam jQuery ukryć, a następnie wyświetlić przycisk)

Dzięki za pomoc.

Edit: hide klasa jest właśnie to:

.hide { 
    display: none; 
} 

Mój przycisk:

<a class="btn hide" id="buttonEditComment" href="javascript:void()"><i class="icon-comment"></i> Edit comment</a> 

Javascript używam, aby pokazać przycisk:

$("#buttonEditComment").toggle(); 
+1

Weź firebuga i dowiedz się, jakie klasy lub majątek spowodował, że – zerkms

+0

Nie ma zbytniej pomocy, którą ktokolwiek może zaoferować bez obejrzenia twojego kodu. Spróbuj skonfigurować http://jsfiddle.net –

+7

Jak wyświetlasz swój przycisk? Spróbuj zrobić '.removeClass ('hide')' zamiast '.toggle()'. – dfsq

Odpowiedz

41

Jak dfsq powiedział miałem tylko używać removeClass("hide") zamiast toggle()

17

Jeśli element ma klasę „ukryć” Bootstrap i chcesz pokazać je z pewnym przesuwnym wpływ taki, jak .slideDown(), można oszukać bootstrap jak:

$('#hiddenElement').hide().removeClass('hide').slideDown('fast') 
7

zgadzam się z dfsq jeśli wszystko, co chcesz zrobić pokazuje przycisk. Jeśli chcesz, aby przełączyć się między ukrywanie i pokazywanie przycisku jednak jest łatwiejszy w użyciu:

$("#buttonEditComment").toggleClass("hide"); 
3

To, co mogę zrobić dla tych sytuacjach:

Nie rozpocząć elementu HTML z klasą " ukryj ", ale umieszczam style =" display: none ".

Jest tak dlatego, że jquery programu ładującego modyfikuje atrybut stylu, a nie klasy do ukrywania/odkrywania.

Przykład:

<button type="button" id="btn_cancel" class="btn default" style="display: none">Cancel</button> 

lub

<button type="button" id="btn_cancel" class="btn default display-hide">Cancel</button> 

Później można uruchomić wszystkie następujące warunki, które będą pracować:

$('#btn_cancel').toggle() // toggle between hide/unhide 
$('#btn_cancel').hide() 
$('#btn_cancel').show() 

Można również uso klasę Twitter Bootstrap "display-hide", który działa również z metodą jQuery IU .toggle().

Powiązane problemy