2013-02-16 18 views
9

Aşağıdakileri yapmaya çalışıyorum: - bir arka plana karar veren bir DIV (# sayfa kapaklı) gösterecek bir işlevi tetikleyen bir bağlantı tıklatıldı. Bu div 999 z-index var - Sonra başka div (#red) daha yüksek Z-endeksineJQuery - tüm sayfayı karartın ve bir div öğesinin solmasını sağlayın

Benim CSS ile karartılmış arka plan/fadeup/gösteri üzerine görünmesini istediğiniz:

#page-cover { 
    display: none; 
    position: fixed; 
    width: 100%; 
    height: 100%; 
    background-color: #000; 
    z-index: 999; 
    top: 0; 
    left: 0; 
} 
    #red { 
    background-color: red; 
    width: 100px; 
    height: 100px; 
} 

HTML

//Triggering link 
<a href="#" onclick="dimBackground("Element1")">Element 1</a> 
//Div to appear upon dimmed DIV 
<div id="red">hejsa</div> 
//Dimming DIV 
<div id="page-cover"></div> 

jQuery

function dimBackground() { 
    $("#page-cover").css("opacity",0.6).fadeIn(300, function() { 
     //Attempting to set/make #red appear upon the dimmed DIV 
     $('#red').css('zIndex', 10000); 
    }); 
} 

sayfa kapak sözde olarak yukarı kaybolur, ancak ben hiçbir ettik Daha sonra herhangi bir başarı elde edildi.

Herhangi bir öneriniz var mı?

+0

Bunun için herhangi bir çözüm buldunuz mu? – anam

cevap

10

CSS

#page-cover { 
    display: none; 
    position: fixed; 
    width: 100%; 
    height: 100%; 
    background-color: #000; 
    z-index: 999; 
    top: 0; 
    left: 0; 
} 
    #red { 
    background-color: red; 
    width: 100px; 
    height: 100px; 
} 

HTML:

//Triggering link 
<a id="triggeringlink" href="#">Element 1</a> 
//Div to appear upon dimmed DIV 
<div id="red">hejsa</div> 
//Dimming DIV 
<div id="page-cover"></div> 

JS

$(window).load(function(e){ 
    $('#triggeringlink').on('click',function(e){ 
    $("#page-cover").css("opacity",0.6).fadeIn(300, function() {    
     $('#red').css({'position':'absolute','z-index':9999}); 
    }); 
    e.preventDefault(); 
    }); 
}); 

Bu biraz daha farklı bir yaklaşım, ama sonra ne konum olduğunu düşünüyorum. Satır içi JS yerine, sayfa yüklendiğinde <a> etiketine bir tıklama etkinliğini bağlarız. CSS'yi güncelledim, böylece KIRMIZI div gizlendi ve kesinlikle yerleşti. Ekran boyutlarını çekip, ortalanmadan önce ortalanmış olarak konumlandırmanız gerekebilir, bu sizin niyetiniz varsa lütfen bildirin ve cevabı güncelleyeceğim.

+0

Merhaba Aaron, Soruyuma bakmak için zaman ayırdığınız için çok teşekkürler, sadece kısa bir süre için örnek alın. Ancak burada önemli bir not var: #red div'imin her zaman görünür olması gerekiyor. Temel olarak elde etmek istediğim şey biraz dikkat çekici bir özellik, bu yüzden 4 elementim olduğunu hayal edin. Biri tıklandığında> Tüm sayfa kararır> ve tıklanan nesne kaybolur ve görünür olmayan kısma-aşağı nesne olur. – user1231561

+0

# Sayınız nispeten konumlandırılmış mı? – Aaron

+0

Cevabı güncelledim, ancak bunun başka bir parçası olması gerekecek. Yerleşimi kapatıp sitenize geri döndüğünüzde #red konumlandırmayı göreceli olarak sıfırlamanız gerekir. Başka bir seçenek de .clone() kullanmak ve bindirme elemanının içine bırakmak, ardından bindirmeyi kapatırken silmek. – Aaron

İlgili konular