/**
* Created by harrylang on 16/10/24.
*/
$(function () {
var isHold = false,
duration = 100; // 长按时长
var bangBox = $('.bang-box'),
bangInner = $('.bang-inner'),
bangCopy = $('.bang-copy'),
bangClose = $('.bang-close');
var container = $('.container');
// 消息操作
$('.msg').on('mousedown', function () {
isHold = true;
setTimeout((function (elem) {
return function () {
if (isHold) {
startBang(elem);
}
};
}(this)), duration);
}).on('mouseup', function () {
isHold = false;
}).on('mouseleave', function () {
isHold = false;
});
// 开始爆炸
function startBang(elem) {
elem = $(elem);
var text = elem.text();
if (!$.trim(text)) {
return;
}
$.ajax({
type: "POST",
url: '/bang',
data: JSON.stringify({ text: text }),
contentType: "application/json",
success: function (data) {
var html = '';
for (var i = 0, l = data.length; i < l; i++) {
html += '
' + data[i] + '
';
}
bangInner.html(html);
container.addClass('bang-scroll');
bangBox.show();
}
});
}
// 爆炸操作
// 关闭
bangClose.on('click', function () {
bangBox.hide();
container.removeClass('bang-scroll');
});
// 分词选取操作
bangInner.on('click', '.bang-label', function () {
var self = $(this);
self[self.hasClass('bang-active') ? 'removeClass' : 'addClass']('bang-active');
});
// 复制
ZeroClipboard.config({
moviePath: '/static/js/zeroclipboard-2.2.0/ZeroClipboard.swf'
});
var clip = new ZeroClipboard(bangCopy);
clip.on('beforecopy', function () {
var text = '';
var actves = $('.bang-active');
for (var i = 0, len = actves.length; i < len; i++) {
text += actves.eq(i).text() + ' ';
}
clip.setText(text);
}).on('aftercopy', function () {
bangClose.trigger('click');
alert('复制成功!');
});
bangCopy.on("click", function () {
var text = '';
var actves = $('.bang-active');
for (var i = 0, len = actves.length; i < len; i++) {
text += actves.eq(i).text() + ' ';
}
const input = document.createElement('input');
document.body.appendChild(input);
input.setAttribute('value', text);
input.select();
if (document.execCommand('copy')) {
document.execCommand('copy');
}
document.body.removeChild(input);
bangClose.trigger('click');
alert('复制成功!');
});
});