Tworzę płótno przez javascript na webproject.Przewijanie w poziomie na płótnie. HTML5
Obszar roboczy zawiera graficzne reprezentacje na płaszczyźnie XY.
Próbuję dodać funkcję przewijania poziomego do obszaru roboczego.
I zbadali kilka metod: -
1) opracowuje 12 miesięcy o wartości danych na płótnie, gdy przewija myszy do przodu, dane 1. miesiąc znika, a na końcu nowe dane miesięcy dodaje, rysuje się nowe płótno.
Con: - Za każdym razem, gdy mysz przesunie się, aby przesuwać się wzdłuż osi czasu - należy utworzyć nowe zapytanie SQL, dzięki czemu moja aplikacja internetowa będzie bardzo wolna.
2) może mogę narysować dane o wartości 10 lat na płótnie za pomocą 1 zapytania SQL, ale pokażę dane tylko na 12 miesięcy. maskowanie reszty z 9 lat. Teraz, gdy klient przewija, przechwytuję zdarzenie przewijania i przechodzę do odpowiedniej części kanwy. czy to możliwe? Jeśli tak, to w jaki sposób?
Czy ktoś może doradzić?
Moja obecna reprezentacja płótnie = tylko 12 miesięcy o wartości danych
Aby być bardziej szczegółowe na przewijanie, chciałbym mieć uczucie, takie jak następujący widget dla mojej stronie klienta działania przewijania: -
http://www.simile-widgets.org/timeline/
SVG jest ogólnie uważane za bardziej odpowiednie narzędzie dla danych kreślenia, po prostu mówiąc. – Shmiddty
Ale to, co chcesz zrobić, to użyć 'context.translate (-x, 0)' do symulacji efektu. W ten sposób nie będziesz musiał zmieniać współrzędnych x punktów danych. – Shmiddty