2017-01-10 27 views
7

Açısal 1.5 <md-content> içinde bir tablom var. Tabloya dinamik olarak sütunlar ekliyorum ve belirli bir noktada yatay kaydırma çubukları belirir. Bu iyi.Angular md-content içinde yatay olarak kaydırma tablosu

Ancak buradaki bozuk bölüm, yeni sütunların görünmez olmasıdır. Yeni sütunların görünebilmesi için <md-content>'umu nasıl programlamal olarak kaydırmalıyım?

+3

kodunuzu gönderebilir miyim: Burada hızlı demo? –

+0

[Açısal kaydırma-tutkal] (https://github.com/Luegg/angularjs-scroll-glue) kullanmak bir seçimdir. Kaydırma-yapıştırıcı-sağa = "yapıştırılmış" 'md-içeriğinize" attacth "diyebilirsiniz ve bu, çalışmayı başarır. Bu sizin için uygunsa bir plunker yapabilirim – troig

cevap

2

Bir yorumda bulunduğum sırada, angular-scroll-glue yönergesini kullanarak working plunker adresiniz var.

Buradaki anahtar, md-content ürününüze scroll-glue-right yönergesini ekliyor.

<md-content scroll-glue-right> 
    ... 
</md-content> 

tam kod here

EDIT bakınız: programlama yoluyla yerine otomatik olarak ilk plunker olduğu gibi, bir denetleyici özniteliği için scroll-glue-right bağlayabilir kaydırmak istiyoruz edin. Örnek:

glued true olarak ayarlanır
<md-content scroll-glue-right="glued"> 
... 
</md-content> 

, kaydırma kovulacak. Çalışma plunker here

o

+1

Bu güzel çalışıyor, teşekkürler! Bir not: “luegg.directives” modülünü adlandırdığınızı görüyorum ama orada başka yönergeler göremiyorum. Bu modülü 'scroll-glue' adını vermediğin için herhangi bir sebep var mı? –

+0

Merhaba @Garret Wilson Yardım için teşekkürler ve teşekkür için teşekkürler. Ben sadece angularjs-sceoll-yapıştırıcının kullanım kılavuzunu takip ediyorum (bunu kullanmak için luegg.directives'ı içe aktarmaya ihtiyacım var). Modülünüzü istediğiniz gibi isimlendirebilirsiniz, ancak yönergeyi luegg.directives olarak almanız gerekir. – troig

+0

Oh, üzgünüm, senin direktifin olduğunu sanıyordum! O zaman ben 'açısal kaydırma-tutkal' projesi hakkında geri bildirim vereceğim. –

2

Eğer scrollLeft baktınız mı olur Umut? Sen kaydırılan öğenin konumunu almak ve sonra bu pozisyona ebeveyn ilerleyebilirsiniz: Eğer gerekirse

container.scrollLeft = childToScrollTo.getBoundingClientRect().left; 

Kesinlikle bir direktif içine bu inşa edebileceğini, ya da sadece size ekledikten sonra böyle bir şey çalıştırabilirsiniz bir sütun.

var scroll = function(){ 
 
    var container = document.getElementById('container'); 
 
    var childToScrollTo = document.getElementById('scrollto'); 
 
    
 
    container.scrollLeft = childToScrollTo.getBoundingClientRect().left; 
 
}
#container{ 
 
    white-space: nowrap; 
 
    overflow: auto; 
 
    width: 400px; 
 
} 
 

 
.child{ 
 
    display:inline-block; 
 
}
<button onclick="scroll()">scroll</button> 
 
<div id="container"> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child" id="scrollto">scroll here!</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
    <div class="child">child</div> 
 
</div>

İlgili konular