Ich habe eine feste Kopfzeile Scroll-Tabelle mit horizontalen und vertikalen Bildlaufleisten, für die ich derzeit auf jeder Spalte sortieren kann, kann aber nicht richtig beibehalten horizontale Position des Tisches beim Laden der Seite.Fixed Header Scrollbare Tabelle - Wie horizontale Bildlaufposition mit css jquery auf Seite Lasten zu speichern
Unter Verwendung der folgenden Inline-CSS-I scrollAmount
von PHP aus einem versteckten Eingang, dessen Wert von einem Jquery-Code und geben Sie ihn in die Inline-CSS
style="transform:translateX(<negative offset value of scrollAmount>)"
Meine Frage erhalten ist, wie kann ich Scrollposition richtig halten für eine Tabelle, die mit einer horizontalen Bildlaufleiste mit CSS und jQuery überläuft, ohne darauf zu warten, dass die Seite vollständig geladen/beendet wird?
Inline-Stil
transform:translateX(-<?=scrollAmount()?>px)
jQuery Scroll Position Funktion
function setScroll(id_header, id_table)
{
$('div.'+id_table).on("scroll", function(){ //activate when #center scrolls
var left = $('div.'+ id_table).scrollLeft(); //save #center position to var left
$('div.'+id_header).scrollLeft(left); //set #top to var left
$('#scrollamount').val(left);
});
Verdeckte Eingabe HTML-Code
<input type="hidden" id="scrollamount" name="scrollamount" value=<?=scrollAmount()?>"/>
PHP-Code
function scrollAmount()
{
if (isset($_POST['scrollamount']))
return $_POST['scrollamount'];
return "";
}
Bitte lesen Sie [die Dokumentation für 'scrollLeft()'] (https://api.jquery.com/scrollleft/). Es gibt eine Zahl zurück, die die Anzahl der Pixel angibt. –
Ich habe meine ursprüngliche Frage über das scrollLeft-Problem überarbeitet, das nach dem Lesen der Dokumentation bestätigt wurde, das gewünschte Ergebnis zu erzeugen, nach dem ich gesucht habe. – Vahe