2010-12-17 13 views
10

JQuery UI'ye stil sınıfları eklememenin en kolay yolu nedir? İstediğim bir çok işleve sahip olan sekme eklentisini kullanmaya çalışıyorum ... ama aslında stilleri söz konusu olduğunda bunu yapmak istemiyorum. Tamamen sorumlu olmak istiyorum, çünkü açıkçası, varsayılanlar çok meşgul ve sadece minimist bir tasarım için çalışmıyor. JQuery UI'nin stilleri otomatik olarak eklemesini nasıl engellerim?

Burada benzer bir soru ... bulundu: jquery ui tabs major style change

... Ama ilk etapta eklenmesini sınıfları önlenmesi için getirmiştim asla.

Yalnızca css temasını belgenin üst kısmına yüklemeyi reddedebilirsiniz, ancak sekmeler gereci, herhangi bir javascript hatasına neden olmamasına rağmen çalışmayı durdurur. Bütün bu olup bitenler olmak sadece korkunç, ve kendi sekmeleri jquery UI bana kendi stillerini :(Eğer

Yardım?

+0

bir yolu oluşturmak olacaktır senin themeroller ile kendi temasını oluşturun ve her şeyi olabildiğince minimal hale getirin. – brett

+0

@brett: Evet, bunu yapmayı düşündüm ... ama aslında bazı temaları seviyorum. Tarih seçici ve diğerleri gibi mükemmel. Sadece bazı yapılandırma seçenekleriyle anlatmak istiyorum, "Hey, herhangi bir sınıf eklemeyin. Eğer bok gibi görünüyorsa, benim hatam olsun!" – egervari

+0

Ayrıca, css temasının yüklenmemesinin, sekmelerin eklentisinin çalışmamasına neden olduğunu da belirtmek isterim, bu da korkunç. – egervari

cevap

4

' kullanmasına izin reddediyor sırf widget'ı program zorunda kalmak istemem sınıfların eklenmesini engelleyen bir jQuery UI seçeneği arıyor, şansınız yok.

En iyi bahsiniz, brett'in önerdiği, minimalist bir tema oluşturmasıdır.Alternatif olarak, bir DOM verilen javascript işlevi düşünebilirim öğesinde aradı ve sınıf özniteliklerinin bir listesini arayan çocuklar aradı, sonra her birini sildi.Gerçekten kötülük görünüyor!

+0

Henüz bir seçenek olmadığından oldukça kötü. Bazı durumlarda sorgu ui sayacı için css yazmam gerekiyor. –

5

Bazı stil öğeleri (sekmeler) haricinde, mevcut stil istiyorsanız, bir dış div # mytabs ekleyebilir ve ardından jquery UI tarafından uygulanan varsayılan stilleri geçersiz kılabilirsiniz. Benim noktayı açıklamak için

Quick (rough) demo.

#mytabs #tabs2 ul.ui-tabs-nav{ 
    background:lime; 
    border-radius:0; 
} 
#mytabs #tabs2.ui-tabs, #mytabs #tabs2.ui-widget{ 
    border:magenta; 
    border-radius:0; 
    background:cyan; 
} 

Bu, size farklı bir alandaki varsayılan stilleri (sekmelerde bile) kullanma seçeneği sunar. Elbette .ui-tabs-nav sınıflarında stil stilini değiştirebilir (veya tekrar geçersiz kılar). jQuery UI paketi indirilirken

0

belki css kapsamını eklemek

0

somehting gibi başka bir seçenek seçici otomatik jQueryUI tarafından eklenen sınıfını kaldırmak olacaktır:

$('#accordion-no-jquery-style').children().attr('class', 'custom-accordion-style') 
İlgili konular