MediaWiki:Gadget-Emotion.js
跳到导航
跳到搜索
注意:这类代码页面在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- 按住
CTRL+SHIFT+DEL 或 ⌘-Shift-R
来清除缓存! - 或尝试在地址栏的地址最后添加代码
?_=1
来访问最新页面。 - 你还可以在设置中勾选小工具在页面右上角添加清除缓存按钮!
(function () {
if (mw.config.get('wgAction') == 'view' && mw.config.get('wgPageName') != '首页') {
var emojis = '<div class="emo" style="display:none"><div class="emolist"><div>';
for (i = 1; i < 40; ++i) {
if (i == 40||i == 50) {
emojis += "</div><div>";
}
emojis += '<button class="flowthread-btn plus" data-id=' + i + '><div class="emos emoji' + i + '" ></div></button>';
}
emojis += "</div>";
var btns = "";
for (var i = 0; i < 3; i++) {
btns += '<button class="flowthread-btn emo-tab-' + i + '"></button>'
}
emojis = '<button class="flowthread-btn flowthread-btn-emoticon emoji" title="表情"><i class="fa fa-smile-o" style="color:#555;"></i></button>' + emojis + '</div><div class="emo-tabs">' + btns + '</div></div>'
var i = setInterval(function () {
if ($(".comment-toolbar").length != 0) {
clearInterval(i);
$(".comment-toolbar").append(emojis);
$('.emolist>div>button').on('click', function () {
var textarea = $(this).parent().parent().parent().parent().prev().prev();
var text = textarea.val();
text += '<div class="emos emoji' + this.dataset.id + '"></div>';
textarea.val(text);
});
$(".flowthread-btn-emoticon").on('click', function () {
var btn = $(this);
if (btn.hasClass("on")) {
btn.next().hide(300);
btn.removeClass('on');
} else {
btn.next().show(300);
btn.addClass('on');
}
btn.prev().prev().prev().addClass("on");
});
$(".emo-tabs").on('click', 'button', function () {
var btn = $(this);
if (!btn.hasClass('on')) {
btn.parent().children().removeClass('on');
btn.addClass('on');
var n = parseInt(Array.from(this.classList).find(function (x) { return x.indexOf("emo-tab") != -1 }).replace('emo-tab-', ''));
var c = btn.parent().prev().children();
c.css('display','none');
$(c[n]).css('display','block');
}
});
$(".comment-container").on('click', '.comment-reply', function () {
var j = setInterval(function () {
var toolbar = $('.comment-container .comment-toolbar')
if (toolbar.length !== 0) {
clearInterval(j);
toolbar.append(emojis);
}
})
}).on('click', '.emolist>div>button', function () {
var textarea = $(this).parent().parent().parent().parent().prev().prev();
var text = textarea.val();
text += '<div class="emos emoji' + this.dataset.id + '"></div>';
textarea.val(text);
}).on('click', '.flowthread-btn-emoticon', function () {
var btn = $(this);
if (btn.hasClass("on")) {
btn.next().hide(300);
btn.removeClass('on');
} else {
btn.next().show(300);
btn.addClass('on');
}
btn.prev().prev().prev().addClass("on");
}).on('click','.emo-tabs>button',function(){
var btn = $(this);
if (!btn.hasClass('on')) {
btn.parent().children().removeClass('on');
btn.addClass('on');
var n = parseInt(Array.from(this.classList).find(function (x) { return x.indexOf("emo-tab") != -1 }).replace('emo-tab-', ''));
var c = btn.parent().prev().children();
c.css('display', 'none');
$(c[n]).css('display', 'block');
}
})
}
}, 1);
}
})();