前几天某些人一直来挑衅我!怎么办,当然不能忍!
多说有屏蔽某些用户的功能,但用在这里就有点过了,毕竟都还是「小朋友」,不能欺负的太过了,但也要让他们知道我的「厉害」!
怎么办呢,起初想着用 js 根据多说的用户 id 判断是不是某些人的评论,然后再做一下处理,很简单嘛:
(function($){
$('a[data-user-id="1000001"], a[data-user-id="7550406"]').each(function(i){
var parent = $(this).parent();
parent.next().hide().next().hide();
parent.parent().append('<p style="color: #999;">该用户已被关进小黑屋,内容不予显示。</p>')
});
})(jQuery)
咦。。。好像把重要的事情忘记了:劳资我不知道什么时候多说的评论会加载完成啊。。。那什么时候执行这些 js 代码?不管了,先加个简单的判断试试
(function($){
var bugaoxing = function () {
var intervalId = setInterval(function(){
console.log('checking');
if ($('#ds-reset').length > 0 ) {
clearInterval(intervalId);
$('a[data-user-id="1000001"], a[data-user-id="7550406"]').each(function(i){
var parent = $(this).parent();
parent.next().hide().next().hide();
parent.parent().append('<p style="color: #999;">该用户已被关进小黑屋,内容不予显示。</p>')
});
}
},100);
}
$(document).ready(function(){
bugaoxing();
});
})(jQuery)
不高兴!!!
在我看到 PJAX 加载动画的时候,我就预感不妙! PJAX 这东西就不说了,还是能解决的,但特么还有多说啊。。。多说加载评论换页用的是 AJAX,所以。。。这特么的太麻烦了,果断不行,换个思路吧。
看来还是得用 CSS 来解决。。。
看了下结构,发现还好,不是很难的样子,小兔崽子们「吃我一锤」
把 CSS 撸出来后面就简单了
div.ds-avatar[data-user-id="1000001"] + div.ds-comment-body > p, div.ds-avatar[data-user-id='7550406'] + div.ds-comment-body > div.ds-comment-footer{
display: none;
}
div.ds-avatar[data-user-id="1000001"] + div.ds-comment-body:after {
content: '该用户已被关进小黑屋,内容不予显示。';
font-size: 0.9375rem;
line-height: 42px;
color: #999;
}
#ds-thread #ds-reset a.ds-user-name[data-user-id="1000001"]:after {
content: "小黑屋白金会员";
margin-left: 6px;
font-size: 13px;
color: #FF743D;
border-radius: 4px;
padding: 0 0px;
display: inline-block;
margin: 0 5px;
font-weight: 900;
}
直接放代码吧:
var now = new Date();
var heiwuStyle = function(user_id) {
return 'div.ds-avatar[data-user-id="' + user_id + '"] + div.ds-comment-body > p, div.ds-avatar[data-user-id="' + user_id + '"] + div.ds-comment-body > div.ds-comment-footer{'
+ 'display: none}'
+ 'div.ds-avatar[data-user-id="' + user_id + '"] + div.ds-comment-body:after {'
+ 'content: "该用户已被关进小黑屋,内容不予显示。";font-size: 0.9375rem;line-height: 42px;color: #999}';
};
var vipStyle = function(user_id, vip_name, vip_color) {
vip_color = vip_color || '#FFBF3D';
return '#ds-thread #ds-reset a.ds-user-name[data-user-id="' + user_id + '"]:after {'
+ 'content: "' + vip_name + '";margin-left: 6px;font-size: 13px;color: ' + vip_color + ';border-radius: 4px;padding: 0 0px;display: inline-block;margin: 0 5px;font-weight: 900}';
};
var HEIWU = function(name, user_id, startDate, endDate) {
if (startDate == '' || startDate == null) {
startDate = false;
}
if (endDate == '' || endDate == null) {
endDate = false;
}
if ((!startDate || now >= new Date(startDate)) && (!endDate || now <= new Date(endDate))) {
STYLE(heiwuStyle(user_id));
}
};
var VIP = function(name, user_id, vip_name, vip_color) {
STYLE(vipStyle(user_id, vip_name, vip_color));
};
var TAOCAN = function(name, user_id, startDate, endDate, vip_name, vip_color, alwaysShowVip) {
alwaysShowVip = alwaysShowVip || false;
if (startDate == '' || startDate == null) {
startDate = false;
}
if (endDate == '' || endDate == null) {
endDate = false;
}
if ((!startDate || now >= new Date(startDate)) && (!endDate || now <= new Date(endDate))) {
STYLE(heiwuStyle(user_id) + vipStyle(user_id, vip_name, vip_color));
}else if (alwaysShowVip) {
STYLE(vipStyle(user_id, vip_name, vip_color));
}
};
用法:
// 黑屋
HEIWU("名称<备注>", 1000001, null, '2016-09-10 14:00:00');
// 称号
VIP("名称<备注>", 1000001, '小学生', null);
VIP("名称<备注>", '1000002', '小学生', '#1abc9c');
// 套餐, 最后一个参数指放出来后是否还继续给称号
TAOCAN("名称<备注>", 1000001, null, '2016-09-10 14:00:00', '小学生', '#1abc9c', true);
就这样,预览图。。。
居然是re0的头图,喂四十岁的大叔也看么@(你懂的)
50了@(你懂的)
但是,不得不承认,这是一篇技术型文章。
我觉得我的小黑屋现在空着也挺浪费的
不要威胁我@(喷)
@(犀利)辣鸡,我是小学生么@(阴险)
是啊