MediaWiki:Common.js: Difference between revisions
From Haven Homes
mNo edit summary |
mNo edit summary |
||
| Line 1: | Line 1: | ||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
var panoContainer = document.getElementById('panorama'); | |||
var panoImage = document.getElementById('panoImage'); | |||
var isPanning = false; | var isPanning = false; | ||
| Line 8: | Line 8: | ||
var scrollLeft = 0; | var scrollLeft = 0; | ||
panoContainer.addEventListener('mousedown', (e) | panoContainer.addEventListener('mousedown', function(e) { | ||
isPanning = true; | isPanning = true; | ||
startX = e.pageX - panoContainer.offsetLeft; | startX = e.pageX - panoContainer.offsetLeft; | ||
| Line 15: | Line 15: | ||
}); | }); | ||
panoContainer.addEventListener('mouseleave', () | panoContainer.addEventListener('mouseleave', function() { | ||
isPanning = false; | isPanning = false; | ||
panoContainer.style.cursor = 'grab'; | panoContainer.style.cursor = 'grab'; | ||
}); | }); | ||
panoContainer.addEventListener('mouseup', () | panoContainer.addEventListener('mouseup', function() { | ||
isPanning = false; | isPanning = false; | ||
panoContainer.style.cursor = 'grab'; | panoContainer.style.cursor = 'grab'; | ||
}); | }); | ||
panoContainer.addEventListener('mousemove', (e) | panoContainer.addEventListener('mousemove', function(e) { | ||
if (!isPanning) return; | if (!isPanning) return; | ||
e.preventDefault(); | e.preventDefault(); | ||
var x = e.pageX - panoContainer.offsetLeft; | |||
var walk = x - startX; | |||
panoContainer.scrollLeft = scrollLeft - walk; | panoContainer.scrollLeft = scrollLeft - walk; | ||
}); | }); | ||
Revision as of 10:09, 6 November 2023
/* Any JavaScript here will be loaded for all users on every page load. */
var panoContainer = document.getElementById('panorama');
var panoImage = document.getElementById('panoImage');
var isPanning = false;
var startX = 0;
var scrollLeft = 0;
panoContainer.addEventListener('mousedown', function(e) {
isPanning = true;
startX = e.pageX - panoContainer.offsetLeft;
scrollLeft = panoContainer.scrollLeft;
panoContainer.style.cursor = 'grabbing';
});
panoContainer.addEventListener('mouseleave', function() {
isPanning = false;
panoContainer.style.cursor = 'grab';
});
panoContainer.addEventListener('mouseup', function() {
isPanning = false;
panoContainer.style.cursor = 'grab';
});
panoContainer.addEventListener('mousemove', function(e) {
if (!isPanning) return;
e.preventDefault();
var x = e.pageX - panoContainer.offsetLeft;
var walk = x - startX;
panoContainer.scrollLeft = scrollLeft - walk;
});