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. */


const panoContainer = document.getElementById('panorama');
var panoContainer = document.getElementById('panorama');
const panoImage = document.getElementById('panoImage');
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();
   const x = e.pageX - panoContainer.offsetLeft;
   var x = e.pageX - panoContainer.offsetLeft;
   const walk = (x - startX);
   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;
});
This site is in the process of being built; content may not be accurate or complete. Please contact us if you see an error.
No AI or LLM tools were used to generate any text or images on this site. If they had been, the site would be complete and look better.