2016-04-05 27 views
0

web sayfasının tam ortasında bir merkez tam ekran ana boru var:değiştir CSS div style (şartlı?)

<script> 
$("#main").html('<object data="http://www.myweb.com"/>'); 
</script> 

Ve iki gizli sidenavs (:

<div id="main"></div> 

ana varsayılan bir web açar Biri solda ve bir de sağda) iki düğmeyle ve içlerindeki bağlantıların bir listesiyle gösterilebilir. sidenavLeft, ana görüntülendiğinde sağa iter ve sidenavRight, ana sayfayı sola doğru iter. Varsayılan ana sayfa, sidenav menülerinin içindeki linklere tıklayarak değiştirilebilir.

#main'e nasıl söyleyeceğimi, sidebarLeft görüntülendiğinde sağa, sidebarRight gösterildiğinde sola gidemiyorum. Bunu yapmak için bir CSS koşuluna ihtiyacım var, ama bildiğim kadarıyla CSS'de şartlı destek yok.

/* if the sidebarRight is shown, push the page content to the left */ 
#main { 

    transition: margin-right .5s; 

} 


/* if the sidebarLeft is shown, push the page content to the right */ 
#main { 

    transition: margin-left .5s; 

} 

Bunu CSS/Jquery/javascript ile nasıl yapabilirim? JQuery içinde

+1

Muhtemel bir yol: sol/sağ kenar çubuğu için görünürlük değişikliklerini ele al ve sağ CSS sınıfı ekle ... –

+0

Tam kodunuzu her zaman bir snippet'te belirtmelisiniz ya da bir [jsfiddle] (http://jsfiddle.net) –

cevap

2

:

if ($("#sidebarLeft").is(':visible')) { 
    $("#main").css("transition", "margin-right .5s"); 
} 

Ya da daha: Ayrıca

.transition-right { 
    transition: margin-right .5s; 
} 

if ($("#sidebarLeft").is(':visible')) { 
    $("#main").addClass("transition-right"); 
} 

, düğme tıklama işleyicileri üzerinde bu kodu koymak gerekir. Düğme tetikleyicileri de başka bir şey yapmak için göster/gizle (kenar boşluklarını değiştir)

+0

Çok teşekkür ederim, Neredeyse bitti, ama her şey çıldırıyor çünkü sidebarLeft açıkken ve kenar çubuğunu açtığımda, #main sidebarLeft geçişini kaybetti ve tersi oldu . Bu menü kapatma geçişini etkiler. – user3321425

+0

Yardım ettim sevindim. Size daha fazla yardımcı olmamı istiyorsanız, JSFiddle snippet'i ile kodunuzun daha fazlasına ihtiyacım olacak. ;) – Tinmar