No edit summary Tag: Manual revert |
No edit summary |
||
Line 29: | Line 29: | ||
}); | }); | ||
}); | }); | ||
if(!players) { | |||
var players = document.querySelectorAll(".player-wrapper"); | |||
players.forEach((player)=>{ | |||
let btn = player.querySelector(".btn"); | |||
let record = player.querySelector(".record"); | |||
let toneArm = player.querySelector(".tone-arm"); | |||
let song = player.querySelector(".my-song"); | |||
let slider = player.querySelector(".slider"); | |||
btn.addEventListener("click", () => { | |||
if (record.classList.contains("on")) { | |||
record.classList.remove("on"); | |||
toneArm.classList.remove("play"); | |||
song.pause(); | |||
} else { | |||
record.classList.add("on"); | |||
toneArm.classList.add("play"); | |||
setTimeout(() => { | |||
song.play(); | |||
}, 1000); | |||
} | |||
}); | |||
slider.addEventListener("input", (e) => { | |||
song.volume = Number(e.target.value); | |||
}); | |||
}) | |||
} |
Revision as of 15:15, 17 July 2023
mw.hook('wikipage.content').add(function($content) { var $bandcamp = $content.find( '.bandcamp:not(.loaded)' ); if ( !$bandcamp.length ) return; $bandcamp.each( function() { var elem = $( this ); var width = elem.attr( 'data-width' ), height = elem.attr( 'data-height' ), data_src = elem.attr( 'data-src' ); if ( !/^https?:\/\/bandcamp\.com\//.test( data_src ) ) return; elem.empty(); var is_px = [ true, true ]; // width, height if ( /%/.test( width ) || !/\d+/.test( width ) ) is_px[ 0 ] = false; if ( /%/.test( height ) ) is_px[ 1 ] = false; var frame_width = parseFloat( width, 10 ) || 100; frame_height = height ? ( parseFloat( height, 10 ) || 'auto' ) : ''; $( '<iframe />', { style: 'border: 0', width: frame_width + ( is_px[ 0 ] ? 'px' : '%' ), height: frame_height + ( frame_height ? ( is_px[ 1 ] ? 'px': '%' ) : '' ), src: data_src }).appendTo( elem ); elem.addClass( 'loaded' ); }); }); if(!players) { var players = document.querySelectorAll(".player-wrapper"); players.forEach((player)=>{ let btn = player.querySelector(".btn"); let record = player.querySelector(".record"); let toneArm = player.querySelector(".tone-arm"); let song = player.querySelector(".my-song"); let slider = player.querySelector(".slider"); btn.addEventListener("click", () => { if (record.classList.contains("on")) { record.classList.remove("on"); toneArm.classList.remove("play"); song.pause(); } else { record.classList.add("on"); toneArm.classList.add("play"); setTimeout(() => { song.play(); }, 1000); } }); slider.addEventListener("input", (e) => { song.volume = Number(e.target.value); }); }) }