2014-07-15 20 views
8

Şu anda polimerin çekirdek iskelesini kullanıyorum & co. içerik alanına sahip bir başlık/kenar çubuğu oluşturmak için Şu anda, scrollTop gibi içerik öğesinin belirli özelliklerine erişemem sorunu yaşıyorum. (erişmem gereken gerçek scrollTop özelliği, DOM'de tanımlanmış olduğundan.)Access gölge DOM özellikleri (polimer) ile javascript/jquery?

Bu, kullanıyorum bir tembel yük jquery eklentisiyle çakışıyor. Eklenti, window.scrollTop sayfasını kontrol ediyor ancak scrollTop'un gölge DOM'de "gizli" olduğundan, (pencerenin yerine kaydırılan) içeriğimin scrollTop'unu kontrol etmek için eklentiyi değiştirmeyecek.

Gölge DOM öğelerine erişmenin bir yolu var mı? Bulduğum tek şey, createShadowroot ile yarattığınız gölge DOM nesnelerine erişmektir (veya her ne ismiyle adlandırılmışsa), ancak mevcut/oluşturulan gölge köklerine nasıl erişilebileceğine dair herhangi bir referans göremiyorum.

<core-scaffold> 
    <core-header-panel navigation flex mode="seamed"> 

    <core-toolbar> 
    <!--fixed toolbar--> 
    </core-toolbar> 

    <core-menu theme="core-light-theme"> 
     <core-item icon="settings" label="item1"></core-item> 
     <core-item icon="settings" label="item2"></core-item> 
    </core-menu> 

    </core-header-panel> 

    <div tool> 
    <!--fixed header--> 
    </div> 

    <div id="content"> 

    <!-- get scrollTop of content? --> 
    </div> 
</core-scaffold> 

cevap

11

ShadowDOM de (document gibi) temel elemanlarını tanımlayan bir shadowRoot özelliği olan her eleman aşağıdaki

örnek kod.

ör some_element.shadowRoot.firstElementChild

Ayrıca örneğin bir gölge köküne ulaşmak için querySelector kullanabilirsiniz:

document.querySelector('core-scaffold::shadow .someclass') ilk core-scaffold gölgesi-kök someclass ile ilk öğesini bulur.

+0

Mükemmel çalışıyor, çok teşekkürler :)! –