MENU

发个不清真的东西

August 31, 2016 • Read: 5393 • 日常

前几天某些人一直来挑衅我!怎么办,当然不能忍!

多说有屏蔽某些用户的功能,但用在这里就有点过了,毕竟都还是「小朋友」,不能欺负的太过了,但也要让他们知道我的「厉害」!

怎么办呢,起初想着用 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);

就这样,预览图。。。

 

Tags: CSS
Archives QR Code Tip
QR Code for this page
Tipping QR Code
Leave a Comment

已有 113 条评论
  1. 赞!!!

  2. 该用户已被关进小黑屋,内容还是显示了。@(滑稽)

    1. @metheno@(滑稽)

  3. 该用户已被关进小黑屋,内容不予显示。

  4. 该用户已被关进小黑屋,内容不予显示。
    @(笑尿)

  5. 该用户已被关进小黑屋,内容不予显示。