Quelle est la manière recommandée de fournir des barres de défilement de défilement et de session natives pour de très grandes données affichées dans une toile HMTL5? P>
J'ai besoin d'afficher des données 128000x128000 pixels. L'utilisation d'une toile avec largeur / hauteur définie sur 128000 n'est pas une option car elle utiliserait une quantité énorme de RAM (environ 61 Go selon mon calcul rapide). P>
J'ai donc besoin d'un moyen de fournir des barres de défilement personnalisées pour une toile HTML5. P>
3 Réponses :
JCanvas strong> est un plugin JQuery qui peut vous aider. p>
Merci pour la suggestion, malheureusement, je ne pouvais trouver aucun soutien natif à JCanvas, mais il a quelques autres choses très belles. J'ai fini par faire une chose de zoom à la place, inspiré par la fonctionnalité de Google Maps.
Très bien alors. J'espère que je t'ai aidé. Considérez le vote et acceptez ma réponse pour que les autres comprennent que ma réponse vous a aidé.
question intéressante. Je n'ai pas utilisé
Après un test rapide, je ne suis pas sûr que Chrome ou Firefox rendra même une toile aussi grande.
Mon pari serait de créer un élément de toile mais ne l'appendez jamais à la DOM. Tout comme ceci: puis crée une toile plus petite qui affichera une partie de votre toile cachée p> et utilisez la méthode de cuisson Pour dessiner des portions: p> alors il serait à vous de fournir des boutons haut / bas / gauche / gauche pour naviguer, ou peut-être simuler des fausses barres de défilement en utilisant 20px larges divs Voulez-vous seulement montrer des barres de défilement et que vous accrocheriez un auditeur encorecroll.
Et chaque fois que l'utilisateur change de position, appelle à nouveau un appel pour dessiner, mettre à jour les positions x / y (40 et 50 dans mon exemple). P> après avoir dit cela, encore une fois, même lorsqu'il est caché, je doute que ce navigateur Travaillera avec une toile aussi grande. P> Je cherche une solution au même problème, donc si dans votre recherche, vous avez de la chance, veuillez partager. P> P>
J'ai résolu mon problème avec une fonction de zoom. Réglage de la largeur et de la hauteur à 100%, puis faites zoomer / zoom arrière et faites glisser avec la souris. Cela ajoute une complexité supplémentaire à l'application / l'expérience utilisateur. En outre, rendant une énorme morceau de données, même sur une toile plus petite peut parfois prendre un certain temps. Un morceau de 60000x60000 réduit par exemple, une toile 1000x1000 prend généralement 2-3 secondes pour dessiner.
Eh bien, si la toile dessine la barre de défilement, elle ne sera pas vraiment originale. Qu'essayez-vous d'atteindre?
Je cherche essentiellement un moyen d'afficher une barre de défilement natif que je peux attraper des événements de défilement. :)