2012-10-15 14 views
5

Ben 'devir' inline etiketini kullanan Shadowbox için altyazı çözümü uygulamıştır. Sayfanız biçimlendirme olarak dosyanın en altına aşağıdakileri ekleyinshadowbox.js rev altyazısı nasıl özelleştirilir?

shadowbox.css olarak
...get("sb-caption").innerHTML=obj.link.rev||"";... 
...<div id="sb-caption"></div>... 

shadowbox.js eklemek yılında

... ...

#sb-info,#sb-info-inner{height:56px;line-height:20px;} 
#sb-caption {clear:both;font-size:90%;height:auto;line-height:12px;color:#fff;} 

devir öznitelik eklemek (evet, rel gibi geçerli bir özellik var!) bağlantısına ... altyazı metninin rev özniteliği gider ... ben

<a href="myimage.jpg" rel="shadowbox" title="My Image" rev="Your caption goes here...">My Image</a> 

That t ... tadını çıkarın!

daha buraya Açıklaması: http://shadowbox.1309102.n2.nabble.com/Captions-td2643307.html

Bu uygulamaya çok kolay bir şeydi.

Ancak, benim kendi CSS ...

#sb-caption{text-align:right;line-height:22px;color:#333;position:absolute;bottom:35px;right:35px;background:rgba(255,255,255,0.3);text-shadow: 1px 1px 1px #fff;display:block; padding:10px 20px 10px 50px;z-index:10;} 

Bu, tüm

yanı harika çalıştı oluşturulan, ancak, bir sorun tespit etmiş. Bir görüntü, bir rev sahip DEĞIL

, # sb-başlık div yarı şeffaf beyaz bloğu olarak, zaten görünür büyüklüğü (dolgu ile aynı) içinde 20x70 piksel anlıyorum benim dolgu set sorun sebebi. Herkes bir iş çevresinde ile bana yardımcı olabilir

merak ediyorum. rev = "" belirtilmemişse, # sb-başlığını GÖRÜNTÜLEME için Shadowbox söyler şey.

kimse bunun için bir düzeltme ile gelip Can. Belki de bu doğrultuda

şey ??

<script type="text/javascript"> 
    Shadowbox.init({ 
    }); 
    var Shadowbox = window.parent.Shadowbox; 
    if (getElementById('sb-caption').innerHTML == '') 
    getElementById('sb-caption').style.display = 'none'; 
</script> 

... Ama bu işe yaramıyor.

cevap

1

yakındınız ama bunu doğrudan shadowbox.js'de gerçekleştirebilirsiniz (yine de değiştiriyorsanız). İşiniz bu

ad("sb-caption").style.display = (ad("sb-caption").innerHTML == "") ? 'none' : 'block' ; 

sağ

ad("sb-caption").innerHTML=aJ.link.rev||""; 

sonra ve yerleştirin. Bunun ne işe yaradığını açık olduğunu düşünüyorum: Her şey bir Shadowbox, sen id = "sb-caption" öğesi içinde içeriği kontrol açın. Hiçbir içerik yoksa ekranını yok olarak ayarlar, aksi halde engellemek için.

İlgili konular