added all the files

This commit is contained in:
Nathan Woodburn
2022-02-03 12:54:19 +11:00
parent c57937aefd
commit d024007655
25 changed files with 481 additions and 0 deletions

21
assets/js/404.js Normal file
View File

@@ -0,0 +1,21 @@
function type(n, t) {
var str = document.getElementsByTagName("code")[n].innerHTML.toString();
var i = 0;
document.getElementsByTagName("code")[n].innerHTML = "";
setTimeout(function() {
var se = setInterval(function() {
i++;
document.getElementsByTagName("code")[n].innerHTML =
str.slice(0, i) + "|";
if (i == str.length) {
clearInterval(se);
document.getElementsByTagName("code")[n].innerHTML = str;
}
}, 10);
}, t);
}
type(0, 0);
type(1, 600);
type(2, 1300);

11
assets/js/theme.js Normal file
View File

@@ -0,0 +1,11 @@
// Custom theme code
if (document.getElementsByClassName('clean-gallery').length > 0) {
baguetteBox.run('.clean-gallery', { animation: 'slideIn' });
}
if (document.getElementsByClassName('clean-product').length > 0) {
window.onload = function() {
vanillaZoom.init('#product-preview');
};
}

92
assets/js/vanilla-zoom.js Normal file
View File

@@ -0,0 +1,92 @@
(function(window){
function define_library() {
var vanillaZoom = {};
vanillaZoom.init = function(el) {
var container = document.querySelector(el);
if(!container) {
console.error('No container element. Please make sure you are using the right markup.');
return;
}
var firstSmallImage = container.querySelector('.small-preview');
var zoomedImage = container.querySelector('.zoomed-image');
if(!zoomedImage) {
console.error('No zoomed image element. Please make sure you are using the right markup.');
return;
}
if(!firstSmallImage) {
console.error('No preview images on page. Please make sure you are using the right markup.');
return;
}
else {
// Set the source of the zoomed image.
zoomedImage.style.backgroundImage = 'url('+ firstSmallImage.src +')';
firstSmallImage.classList.add('active');
}
// Change the selected image to be zoomed when clicking on the previews.
container.addEventListener("click", function (event) {
var elem = event.target;
if (elem.classList.contains("small-preview")) {
var allSmallPreviews = container.querySelectorAll(".small-preview");
allSmallPreviews.forEach(function (preview) {
preview.classList.remove('active');
})
elem.classList.add('active');
var imageSrc = elem.src;
zoomedImage.style.backgroundImage = 'url('+ imageSrc +')';
}
});
// Zoom image on mouse enter.
zoomedImage.addEventListener('mouseenter', function(e) {
this.style.backgroundSize = "250%";
}, false);
// Show different parts of image depending on cursor position.
zoomedImage.addEventListener('mousemove', function(e) {
// getBoundingClientReact gives us various information about the position of the element.
var dimentions = this.getBoundingClientRect();
// Calculate the position of the cursor inside the element (in pixels).
var x = e.clientX - dimentions.left;
var y = e.clientY - dimentions.top;
// Calculate the position of the cursor as a percentage of the total width/height of the element.
var xpercent = Math.round(100 / (dimentions.width / x));
var ypercent = Math.round(100 / (dimentions.height / y));
// Update the background position of the image.
this.style.backgroundPosition = xpercent+'% ' + ypercent+'%';
}, false);
// When leaving the container zoom out the image back to normal size.
zoomedImage.addEventListener('mouseleave', function(e) {
this.style.backgroundSize = "contain";
this.style.backgroundPosition = "left center";
}, false);
}
return vanillaZoom;
}
// Add the vanillaZoom object to global scope.
if(typeof(vanillaZoom) === 'undefined') {
window.vanillaZoom = define_library();
}
else{
console.log("Library already defined.");
}
})(window);