MENU

发个不清真的东西

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

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

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

怎么办呢,起初想着用 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: October 19, 2017
Archives QR Code Tip
QR Code for this page
Tipping QR Code
Leave a Comment

113 Comments
  1. CSD CSD

    re0好评@(你懂的) 越来越技术了@(你懂的)

  2. CSD CSD

    re0好评@(你懂的) 越来越技术了@(你懂的)

    1. @CSD那当然,我可是从来都不会水的@(滑稽)

    2. CSD CSD

      @Hran原标题不是不友善的东西吗@(你懂的)

    3. @CSD这不清真

  3. 干嘛打我\#(扇耳光)

    1. @Hran\#(扇耳光)心疼你

    2. @三秋那你倒是给我发图啊\#(中刀)

  4. @(滑稽)够技术@(酷)\#(得意)

    1. @yufan\#(中刀)
      不像你,连 InstancecClick 都拿出来说@(阴险)

    2. @Hran看来你很懂那个啊@(你懂的)\#(得意)

    3. @yufan当然不懂了,没看到我都拼错了吗

    4. @Hran果然还是你比较菜@(酷)

    5. @yufan没有比我更菜的人了\#(扇耳光)

    6. @Hran哈哈我洗澡睡觉了

    7. @Hran我认为对你来说是个好机会,你应该把那个了解学习下@(滑稽)

    8. @yufan我这么笨,肯定学不会@(阴险)

    9. @Hran学不会也得去@(怒),多看看,折腾个一个月@(你懂的)我相信你

    10. @yufan\#(扇耳光)

    11. @Hran\#(吐血倒地)i need help in instantclick.learn it quickly

    12. @Hran\#(吐血倒地)i need help in instantclick.learn it quickly

    13. @yufan有这水平,自己去看文档

    14. @Hran那么我是什么
      小朋友\#(期待)

    15. @Hodpel小学生好了@(滑稽)

    16. @Hran哼 我自己又给主题加了pjax 快叫我大神@(酷)

    17. @yufan说好的不折腾的,23333333

    18. @Hran没折腾多少,10分钟左右@(酷) 强吧

    19. @Hran我现在重载js好简单,只要js代码。复制进去就行\#(得意)

    20. @Hran\#(喷水)初三啦

    21. @Hodpel\#(献黄瓜)

    22. @Hran话说CSd。。我以为他今年初二QAQ\#(喜极而泣)才刚初中喂

    23. @Hran等等 怎么变成小学生啦\#(大囧)\#(喷血)

    24. @Hodpel所以他真的是小学生啊@(你懂的)

    25. @Hodpel\#(献黄瓜)

    26. @Hran\#(喷血)发生了什么@(心碎)

    27. @Hran绿色的小学生\#(吐血倒地)有毒

    28. @Hodpel那你要什么@(阴险)
      绿色可是我很喜欢的颜色,你这辈子是改不掉了\#(阴暗)

    29. @Hran@(不高兴)你喜欢绿帽子么
      @(太开心)还是紫罗兰色吧#8b84a3

    30. @Hodpel这基佬紫好评\#(鼓掌)

    31. @Hran@(狂汗)基佬...紫

    32. @Hodpel@(吐舌)不给换了

    33. @Hran@(笑眼)不换就不换基佬就基佬!

    34. @Hodpel@(捂嘴笑)

    35. @Hran@(喷)当我没说

  5. 头图好屌

    1. @Jrotty\#(献黄瓜)

    2. @Jrotty其实是找不到什么好图

    3. @Hran@(便便)