Files
Strawberry-Wallpaper-master/static/page-script/unsplash.js
2024-09-27 01:07:59 +08:00

46 lines
1.4 KiB
JavaScript
Executable File

const { ipcRenderer } = require('electron')
const { render } = require('./render')
const isImg = target => target.tagName === 'IMG' && target.getAttribute('srcset')
const mouseoverFn = function (e){
const { target } = e
if (isImg(target)){
const { parentNode } = target
if (!parentNode.addChild){
const srcList = target.getAttribute('srcset').split(', ')
const src = srcList[srcList.length - 1]
const options = {
width: 0,
height: 0,
url: src,
downloadUrl: src.split(' ')[0].split('?')[0],
}
parentNode.addChild = render(options)
parentNode.addChild.style.left = 0
parentNode.appendChild(parentNode.addChild)
}
}
}
const mouseoutFn = function (e){
const { target } = e
if (isImg(target)){
const { parentNode } = target
if (parentNode.addChild){
window.setTimeout(() => {
if (!parentNode.addChild.mouseoverFlag){
parentNode.removeChild(parentNode.addChild)
parentNode.addChild = null
}
}, 80)
}
}
}
ipcRenderer.on('dom-ready', () => {
console.log('================un-load')
document.querySelector('body').addEventListener('mouseover', mouseoverFn, false)
document.querySelector('body').addEventListener('mouseout', mouseoutFn, false)
})