Guest User

Untitled

a guest
Mar 22nd, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. var hoverImages = {
  2. preloaded: [],
  3. tempImg: null,
  4. registerImages: function(selector) {
  5. var images = document.querySelectorAll(selector) || [];
  6. images.forEach(this.registerImage.bind(this));
  7. },
  8.  
  9. registerImage: function(image) {
  10. var hoverSrc = image.dataset.hoverImage || null;
  11. if(!hoverSrc) return;
  12.  
  13. this.tempImg = new Image();
  14. this.tempImg.addEventListener('load', this.registerEvents.bind(this, image, hoverSrc));
  15. this.tempImg.src = hoverSrc;
  16.  
  17. this.preloaded.push(this.tempImg);
  18. },
  19.  
  20. registerEvents: function(originalImage, hoverSrc) {
  21. var originalSrc = originalImage.src || '';
  22. originalImage.addEventListener('mouseover', this.hover.bind(this, originalImage, hoverSrc));
  23. originalImage.addEventListener('mouseout', this.hover.bind(this, originalImage, originalSrc));
  24. },
  25.  
  26. hover: function(image, src) {
  27. image.src = src;
  28. }
  29.  
  30. };
  31.  
  32.  
  33. hoverImages.registerImages('img[data-hover-image]');
Add Comment
Please, Sign In to add comment