2016-04-11 29 views
1

JQuery Mobile'ı kullanarak/kullanan bir web uygulaması yapısının tasarımını değiştirmek için bir masaüstü tarayıcısına daha iyi uyması için görevlendirildim. Tüm jQuery Mobile'ları hemen kaldırmak istemiyorum, aksine geçişi zamanla yapmak istiyorum. Tüm web uygulaması bir sürü alt sayfa içeren bir sayfa kullanıyor, bu yüzden sayfa için farklı css dosyaları kullanmama izin verdiğinden, masaüstü sürümü için aynı alt sayfaları kullanarak yeni bir sayfa hazırladım.
Sorunum, 'mobile olmayan' sayfalara uyguladığım tüm css'nin jQuery Mobile (bir grup css dosyası) tarafından geçersiz kılınmasıdır. Dediğim gibi, aslında bu css dosyalarını tek seferde kaldırmak istemiyorum, çünkü alt sayfalar arasında pagetransonsuz bir ham html sayfası bırakacağım - jQuery css'den biraz uzun tutmak isteyebilirim. Örneğin, başlık gibi çalıştırın.
Şu anda gördüğüm en büyük sorun, pek çok öğenin, aslında html'de olduğunu beyan etmeden ui-btn, ui-select vb. Bu, bir düğmenin nasıl görünmesi gerektiğini tanımlayan bir css dosyasına sahip olduğumu bile düşündüğüm anlamına gelir; jQuery Mobile, bir şekilde çalışma zamanında sınıf özniteliğine ui-btn ve diğer birçok şeyi ekler - sonuçta benim .button sınıfını geçersiz kılar veya bir çeşit karışımla sona erer .jQuery Mobile diğer CSS'yi geçersiz kılar

Çok fazla kodum olduğu ve neye başvurulacağımı bilmediğim için sorum oldukça geneldir; Öğelerimin yalnızca özellikle atadığım sınıflar tarafından şekillendirildiğinden nasıl emin olabilirim?

Esasen benim jQuery Mobile tutmak istiyorum, ama standart bir css sınıfı seçici (yerine TÜM düğmeleri görünüşte varsayılan olarak devralan bu büyülü şey) olarak ui-btn böyle şeyler var, bu yüzden aslında için class="ui-btn" beyan etmek zorunda kalacak bu stilin mirasını alması için öğe.

Ben sadece bazı genel ve jenerik ipuçları :)

+0

Ben bir tasarımcı değilim, ama aslında ihtiyacınız olan şey, iki sayfa yerine, hem masaüstü hem de mobil ortamda iyi çalışan bir sayfa. Aldığım bir fikir, sayfanızın sonunda oluşturulan HTML'yi elde etmek ve sonra bu tasarımı orijinal HTML ile birleştirmek, jQuery Mobile'ı kaldırmak ve normal jQuery'yi kullanmak ve jQuery Mobile sürümünün yeni sürümle karşılaştırmasını karşılaştırmaktır.Daha sonra sayfa üzerinde çalışın, böylece masaüstlerinde de çalışır. –

+0

Çizgilerinizin demetini okuduktan sonra, sadece bir öneri: her iki css'nin geçersiz kıldığı özel sınıf kullanın ve gerekiyorsa kullanın! –

cevap

2

, jQuery Mobile otomatik olarak yakında (uzun document.ready olay yangınları öncesi) yükler gibi birçok biçimlendirme geliştirmeleri uygular. Bu geliştirmeler, jQuery Mobile'ın ortak senaryolarla çalışacak şekilde tasarlanmış varsayılan ayarlarına dayalı olarak uygulanır. Ayarlarda değişiklik yapılması gerekiyorsa, yapılandırmaları kolaydır.

jQuery Mobile başlatıldığında, belge nesnesinde mobileinit olayını tetikler.
Kodunuzda bunun nerede olduğunu bulmaya çalışın ve muhtemelen bir masaüstü tarayıcısında bulunduğunuz durumda olmasını engelleyin.

DÜZENLEME:

<script src="jquery.js"></script> 
<script src="custom-scripting.js"></script> 
<script src="jquery-mobile.js"></script> 

bu emri değiştirerek deneyin Böylece, özel komut jquery-mobile sonra yüklenir, şu şekildedir: Bu büyük olasılıkla jquery-mobile.js dosyasında yapılır ve genellikle komut bağlantılıdır .

+0

Tam olarak aradığım şey buydu, teşekkürler! Onunla biraz uğraşmaya çalışacağım. –

2

link size JQuery mobil dosyalar sonra dosyaları css ve kullanımı için umuyordum, bu bazı kod bilmeden çözümsüz varsa bana bildirin! Zorlamak için css üzerinde önemli tarayıcı gibi bunları kullanmak için: böyle jQuery ve jQuery UI gibi diğer jQuery projelerinin aksine

color: red !important; 
+0

İlginç ... css dosyalarının bağlı olduğu sırayı değiştirmek aslında kötü bir fikir olmayabilir. Şu anda sadece css dosyalarının tümünü içeren bir pakete bağlanıyorum. Ve sanırım jcm'den daha yüksek öncelik isteyen tüm özel sınıflarıma '' önemli '' ekleyebilirim. –

+1

Umarım işe yaramıştır .. ve sipariş için en son css dosyası kuralının daha önce ne yaptığını farkettiğini fark ettim ... belki de bu yüzden basamaklı stil sayfası denir! – A7S

+0

Cascading, temel olarak, kullanıcı-aracı, kullanıcı ve web-yazarı stil sayfalarını basamaklandırır. – sabithpocker