Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var hoverImages = {
- preloaded: [],
- tempImg: null,
- registerImages: function(selector) {
- var images = document.querySelectorAll(selector) || [];
- images.forEach(this.registerImage.bind(this));
- },
- registerImage: function(image) {
- var hoverSrc = image.dataset.hoverImage || null;
- if(!hoverSrc) return;
- this.tempImg = new Image();
- this.tempImg.addEventListener('load', this.registerEvents.bind(this, image, hoverSrc));
- this.tempImg.src = hoverSrc;
- this.preloaded.push(this.tempImg);
- },
- registerEvents: function(originalImage, hoverSrc) {
- var originalSrc = originalImage.src || '';
- originalImage.addEventListener('mouseover', this.hover.bind(this, originalImage, hoverSrc));
- originalImage.addEventListener('mouseout', this.hover.bind(this, originalImage, originalSrc));
- },
- hover: function(image, src) {
- image.src = src;
- }
- };
- hoverImages.registerImages('img[data-hover-image]');
Add Comment
Please, Sign In to add comment