2017-08-22 2 views
0

Ich mache einen Live-Twitter-Feed mit nodejs und websockets. Ich versuche, die Anzeige automatisch nach links zu scrollen, sobald das Browserfenster voll ist und es vertikal überläuft.Automatischer horizontaler Bildlauf, wenn Inhalt hinzugefügt wird

Das Projekt wird auf einem festen Bildschirm angezeigt, sodass Sie sich keine Gedanken über die Größenanpassung des Browsers machen müssen. Hier ist, was ich bisher:

socket.onmessage = function(message) { 
    var d = JSON.parse(message.data); 
    console.log(message.data); 
    var obj = { 
    text: d.text, 
    imgURL: d.imgURL, 
    } 
    updateView(obj); 
} 

var updateView = function(obj) { 
    container.append("<span class='inner'><img class='profile' src=" + obj.imgURL + 
    "></img><p>" + obj.text + "</p></span>"); 
} 
span#container { 
    width: 1450px; 
    min-width: 100px; 
    min-height: 100%; 
    overflow-y: hidden; 
    overflow-x: scroll; 
} 

span.inner { 
    float: left; 
    border: 1px #333333 solid; 
    width: 469px; 
    height: 450px; 
} 
<div id="container"></div> 
+0

Duplikat von https://stackoverflow.com/questions/3742346/use-jquery-to-scroll-to-the-bottom-of-a-div-with-lots-of-text? –

+0

@RichardHousham: Ich denke nicht ... OP spricht über horizontale Scroll. –

+0

@ user1756180 überprüfen Sie dies https://stackoverflow.com/questions/45822166/auto-horizontal-croll-when-content-is-added/45822849#45822849 –

Antwort

0

dies versuchen, wenn container ein JavaScript-DOM-Element ist:

$(container).scrollLeft(0); 

Oder diese, wenn container ein jQuery-Element ist:

container.scrollLeft(0); 

.scrollLeft() documentation.

0

Für div#container Element erhalten Sie zuerst scrollWidth und dann scrollLeft für dieses Element.

$(document).ready(function() { 
 
    let elem = $('#container'); 
 
    let x = elem.get(0).scrollWidth; 
 
    elem.scrollLeft(x); 
 
});
#container { 
 
    width: 150px; 
 
    height: 150px; 
 
    overflow-x: scroll; 
 
    overflow-y: hidden; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="container"> 
 
SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.SomeContentSomeContent Here.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.SomeContentHere.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.SomeContentHere.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.SomeContentHere.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.SomeContentHere.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.SomeContentHere.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.SomeContentHere.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.SomeContentHere.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.SomeContentHere.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.Here.Here.SomeContent Here.SomeContent Here.SomeContent Here.Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here. SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here.SomeContent Here. 
 
</div>

Hope, funktioniert dies für Sie. :)

+0

Danke, aber dies ist immer noch in einem Raster, vertikal umwickeln Rendern. Ich habe wahrscheinlich nicht sehr gut erklärt, aber ich möchte, dass jeder Tweet rechts von dem vorherigen erscheint und dann den ganzen Container nach links scrollen, sobald die Bildschirmbreite voll ist. Wenn das Sinn macht :/ – user1756180

Verwandte Themen