MENU

发个不清真的东西

• August 31, 2016 • Read: 64967 • 日常

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

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

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

就这样,预览图。。。

 

Last Modified: January 31, 2023
Archives QR Code Tip
QR Code for this page
Tipping QR Code
Leave a Comment

113 Comments
  1. 删了干嘛,@(阴险)

  2. 晚好,朋友。@(酷)@(星星月亮)

  3. \#(尴尬)我想发啥来着 看到了csd后面的小学生就懵了 我怎么感觉我也会标上同样的标签QAQ另外csd貌似不是小学生QAQ
    感觉 这篇文章也可以用来设置后缀,吧

    1. @Hodpel后缀可是要申请的
      申请成功后,我会随机给你分配一个厉害的后缀哦\#(呲牙)

    2. CSD CSD

      @Hodpel对啊我不是小学生(熊孩子)\#(尴尬)

    3. @Hranwoc这居然可以设置后缀QAQ\#(高兴)

    4. @CSD你要当小学生啊

    5. @Hodpel@(吐舌)

    6. CSD CSD

      @Hran我说我要当熊孩子@(你懂的)

    7. @CSD我是熊@(捂嘴笑)

    8. CSD CSD

      @Hran胡说 你是技术性大佬@(滑稽)

    9. @CSD我好像突然间变得不高兴起来了呢@(滑稽)

    10. @Hran哈? 你是熊@(惊哭)

    11. @三秋

  4. CSD CSD

    读两天就周末到了@(你懂的)

    1. @CSD等一下就过饭吃了@(你懂的)

  5. @(滑稽)