blockly > WorkspaceSvg > scrollX

Właściwość WorkspaceSvg.scrollX

Aktualne przesunięcie przewijania w poziomie w jednostkach pikseli względem źródła obszaru roboczego.

Warto zastanowić się nad widokiem i obszarem roboczym pod nim. W miarę przesuwania się obszaru roboczego ta wartość staje się bardziej dodatnia, a widok „widoczna” jest teraz po lewej stronie obszaru roboczego. W miarę przesuwania się obszaru roboczego w lewo wartość staje się bardziej ujemna, a widok „widoczna” jest po prawej stronie obszaru roboczego.

Problem w tym, że ta wartość nie zawiera parametru absoluteLeft i nie może zawierać przesunięcia absoluteLeft. Dzieje się tak, ponieważ służy ona do obliczania wartości viewLeft.

Wartość viewLeft zależy od punktu początkowego obszaru roboczego (chociaż w jednostkach pikseli). Punkt początkowy obszaru roboczego to jego lewy górny róg (przynajmniej wtedy, gdy jest on włączony). Jest przesunięty z lewego górnego rogu do blocklyDiv, aby nie był poniżej zestawu narzędzi.

Gdy obszar roboczy jest włączony, punkty viewLeft i punkt początkowy obszaru roboczego znajdują się w tej samej lokalizacji X. Gdy obszar roboczy przesuwa się w prawo pod widokiem, ta wartość (scrollX) staje się bardziej dodatnia, a ViewLeft staje się bardziej ujemna w stosunku do początku obszaru roboczego (wyobraź sobie początek obszaru roboczego jako kropkę na obszarze roboczym przesuwania się w prawo, gdy obszar roboczy przesuwa się w prawo).

Jeśli więc element ScrollX zawiera wartość absoluteLeft, spowoduje to zmianę punktu początkowego obszaru roboczego. Oznacza to, że obiekt viewLeft będzie reprezentować lewą krawędź elementu blocklyDiv, a nie lewą krawędź obszaru roboczego.

Podpis:

scrollX: number;