浏览代码

Uncoupled general images CSS from image-focus

master
Said Achmiz 5 年前
父节点
当前提交
098d77eae1
共有 3 个文件被更改,包括 25 次插入22 次删除
  1. 2
    2
      assets/css/image-focus.css
  2. 8
    18
      assets/js/image-focus.js
  3. 15
    2
      assets/js/script.js

+ 2
- 2
assets/css/image-focus.css 查看文件

/*= Hover styles =*/ /*= Hover styles =*/
/*=--------------=*/ /*=--------------=*/


.img img:hover {
.image-wrapper img:hover {
filter: drop-shadow(0 0 3px #777); filter: drop-shadow(0 0 3px #777);
cursor: zoom-in; cursor: zoom-in;
} }
.img img:active {
.image-wrapper img:active {
transform: scale(0.975); transform: scale(0.975);
} }



+ 8
- 18
assets/js/image-focus.js 查看文件

function imageFocusSetup() { function imageFocusSetup() {
if (typeof GW.imageFocus == "undefined") if (typeof GW.imageFocus == "undefined")
GW.imageFocus = { GW.imageFocus = {
contentImagesSelector: "article img, .gallery img",
focusedImageSelector: "article img.focused, .gallery img.focused",
contentImagesSelector: ".gallery img",
focusedImageSelector: ".gallery img.focused",
shrinkRatio: 0.975, shrinkRatio: 0.975,
hideUITimerDuration: 1500, hideUITimerDuration: 1500,
hideUITimerExpired: () => { hideUITimerExpired: () => {
image.addEventListener("click", GW.imageClickedToFocus); image.addEventListener("click", GW.imageClickedToFocus);
}); });


// Wrap all images in a span.
// Add image wrapper class.
document.querySelectorAll(GW.imageFocus.contentImagesSelector).forEach(image => { document.querySelectorAll(GW.imageFocus.contentImagesSelector).forEach(image => {
let wrapper = document.createElement("span");
wrapper.classList.add("image-wrapper", "img");
image.parentElement.insertBefore(wrapper, image);
wrapper.appendChild(image);
wrapper.classList.add(...image.classList);
image.classList.remove(...image.classList);
});
let wrapper = image.closest(".img");
if (wrapper)
wrapper.classList.add("image-wrapper");
});

// Create the image focus overlay. // Create the image focus overlay.
let imageFocusOverlay = addUIElement("<div id='image-focus-overlay'>" + let imageFocusOverlay = addUIElement("<div id='image-focus-overlay'>" +
`<div class='help-overlay'> `<div class='help-overlay'>
}); });
} }
} }

/******************/
/* INITIALIZATION */
/******************/

imageFocusSetup();
focusImageSpecifiedByURL();

+ 15
- 2
assets/js/script.js 查看文件

/*************************/ /*************************/


registerInitializer('pageLayoutFinished', false, () => (document.readyState == "complete"), () => { registerInitializer('pageLayoutFinished', false, () => (document.readyState == "complete"), () => {
GWLog("INITIALIZER pageLayoutFinished");

forceInitializer('earlyInitialize'); forceInitializer('earlyInitialize');


GWLog("INITIALIZER pageLayoutFinished");

// We pre-query the relevant elements, so we don’t have to run queryAll on // We pre-query the relevant elements, so we don’t have to run queryAll on
// every firing of the scroll listener. // every firing of the scroll listener.
GW.scrollState = { GW.scrollState = {
GW.scrollState.siteNavUI.forEach(element => { GW.scrollState.siteNavUI.forEach(element => {
element.addEventListener("mouseover", () => { showSiteNavUI(); }); element.addEventListener("mouseover", () => { showSiteNavUI(); });
}); });

// Wrap all images in a span.
document.querySelectorAll("main > nav ~ * img").forEach(image => {
let wrapper = document.createElement("span");
wrapper.classList.add("img");
image.parentElement.insertBefore(wrapper, image);
wrapper.appendChild(image);
wrapper.classList.add(...image.classList);
image.classList.remove(...image.classList);
});

imageFocusSetup();
focusImageSpecifiedByURL();
}); });



正在加载...
取消
保存