LLWiki正在建设中,欢迎加入我们!
“User:Bhsd/widget/listen.js”的版本间差异
跳转到导航
跳转到搜索
小 |
小 |
||
第33行: | 第33行: | ||
menu = mw.menu([ {text: mw.msg( 'widget-li-up' ), icon: 'volume-up', data: 1, click: () => { |
menu = mw.menu([ {text: mw.msg( 'widget-li-up' ), icon: 'volume-up', data: 1, click: () => { |
||
audio.volume += 0.1; |
audio.volume += 0.1; |
||
vup.setSelected( audio.volume < 0.95 ); |
|||
initialize(); |
initialize(); |
||
}}, {text: mw.msg( 'widget-li-down' ), icon: 'volume-down', data: 2, click: () => { |
}}, {text: mw.msg( 'widget-li-down' ), icon: 'volume-down', data: 2, click: () => { |
||
audio.volume -= 0.1; |
audio.volume -= 0.1; |
||
vdown.setSelected( audio.volume > 0.05 ); |
|||
initialize(); |
initialize(); |
||
}}, {text: mw.msg( 'widget-li-download' ), icon: 'download', data: 3, click: () => { menu.toggle(); }} |
}}, {text: mw.msg( 'widget-li-download' ), icon: 'download', data: 3, click: () => { menu.toggle(); }} |
2021年2月24日 (三) 06:29的版本
"use strict"; /* global mw, $, wgULS */ (() => { const main = () => { mw.widget = mw.widget || {}; if (mw.widget.listen) { return; } let audio, menu, vup, vdown, $download; const initialize = () => { const volume = audio.volume; // 以下由于浮点精度不能精确比较 vup.setDisabled( volume > 0.95 ); vdown.setDisabled( volume < 0.05 ).$label.children( '.fa' ) .toggleClass('fa-volume-down', volume > 0.05).toggleClass('fa-volume-mute', volume < 0.05); }; $('#bodyContent').on('click', '.listen > i:first-of-type', function() { const ad = $(this).toggleClass( 'fa-play fa-pause' ).prev( 'audio' )[0]; ad[ad.paused ? 'play' : 'pause'](); }).on('click', '.listen > .fa-ellipsis-v', function() { const $this = $(this), $audio = $this.prevAll( 'audio' ), src = $audio.children( 'source' ).attr( 'src' ); audio = $audio[0]; menu.toggle( true ).setFloatableContainer( $this ); $download.attr({href: src, download: src.split( '/' ).pop()}); initialize(); }); mw.loader.using( ['oojs-ui-core', 'ext.gadget.site-lib'] ).then(() => { mw.messages.set( wgULS({ 'widget-li-up': '音量上调', 'widget-li-down': '音量下调', 'widget-li-download': '下载' }, { 'widget-li-up': '音量上調', 'widget-li-down': '音量下調', 'widget-li-download': '下載' }) ); menu = mw.menu([ {text: mw.msg( 'widget-li-up' ), icon: 'volume-up', data: 1, click: () => { audio.volume += 0.1; vup.setSelected( audio.volume < 0.95 ); initialize(); }}, {text: mw.msg( 'widget-li-down' ), icon: 'volume-down', data: 2, click: () => { audio.volume -= 0.1; vdown.setSelected( audio.volume > 0.05 ); initialize(); }}, {text: mw.msg( 'widget-li-download' ), icon: 'download', data: 3, click: () => { menu.toggle(); }} ], {id: 'listen-menu', hideOnChoose: false}, true); vup = menu.findItemFromData( 1 ); vdown = menu.findItemFromData( 2 ); $download = menu.findItemFromData( 3 ).$label.wrap( '<a>' ).parent(); }); mw.widget.listen = true; }; if (window.jQuery) { main(); } else { window.addEventListener('jquery', main); } }) ();