首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >7b2主题评论气泡

7b2主题评论气泡

作者头像
小狐狸说事
发布2022-11-17 15:11:14
发布2022-11-17 15:11:14
42700
代码可运行
举报
文章被收录于专栏:小狐狸说事小狐狸说事
运行总次数:0
代码可运行

7b2主题怎么设置评论气泡


这是弹幕代码版,本站用的是高级弹幕插件版。

虽说是7b2评论气泡,其实就是用了7b2的api,其他主题照样使用

这个功能来自于https://github.com/515184405/barrage,版权归他所有。

气泡如图:

头部自定义HTML

代码语言:javascript
代码运行次数:0
运行
复制
<script type="text/javascript" src="//at.alicdn.com/t/font_3133075_wsm2usco9v.js"></script>
<link rel="stylesheet" type="text/css" href="//at.alicdn.com/t/font_3133075_wsm2usco9v.css" />
<script type="text/javascript" src="/pic/jquery.min.js"></script>

子主题style.css

代码语言:javascript
代码运行次数:0
运行
复制
/*弹幕评论开始*/
* {
    padding: 0;
    margin: 0;
}
a {
    text-decoration: none;
}
.form-control {
    display: inline-block;
    width: auto;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}
.btn {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
}
.btn-primary {
    color: #fff;
    background-color: #337ab7;
    border-color: #2e6da4;
}
        /*组件主样式*/
.overflow-text {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0;
    clear: both;
    padding: 0 10px;
    border-radius: 10px;
    box-sizing: border-box;
    max-width: 100%;
    color: #fff;
    animation: colorchange 3s infinite alternate;
    -webkit-animation: colorchange 3s infinite alternate;
 /*Safari and Chrome*/
}
@keyframes colorchange {
    0% {
        color: red;
    }
    50% {
        color: green;
    }
    100% {
        color: #6993f9;
    }
}
#Danmu {
    height: 275px;
    overflow: hidden;
    position: fixed;
    z-index: 2;
    max-width: 100%;
    right: 50px;
    bottom: 30px;
   pointer-events: none;
}
.overflow-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0;
    padding: 3px 10px;
    border-radius: 10px;
    box-sizing: border-box;
    max-width: 100%;
    color: #fff!important;
    animation: colorchange 3s infinite alternate;
    -webkit-animation: colorchange 3s infinite alternate;
}
#Danmu li {
    display: flex;
    opacity: 0;
    border-radius: 20px;
    color: #fff;
    padding: 5px 10px 5px 10px;
    clear: both;
    font-size: 13px;
    height: 30px;
    float: right;
    line-height: 20px;
}
#Danmu li i {
    padding-left: 3px;
    padding-right: 3px;
}
#Danmu .info_zianv {
    text-decoration: underline;
    font-weight: 600;
    color: #fff;
}
#Danmu .info_zianv:hover {
    color: #fff!important;
}
#Danmu li a:first-child {
    margin-right: 6px;
    width: 20px;
}
#Danmu li a:last-child,#Danmu li a:last-child font {
    color: #fff !important;
}
#Danmu li a:last-child n {
    text-decoration: underline;
    margin: 0 5px;
}
#Danmu li img {
    width: 20px;
    height: 20px;
    border-radius: 100%;
    vertical-align: inherit;
    margin-right: 6px;
}
@keyframes colorchange {
    0% {
        color: red;
    }
    50% {
        color: green;
    }
    100% {
        color: #6993f9;
    }
}
@media (max-width: 780px) {
    #Danmu {
        right: 0;
        bottom: 5px;
    }
}
/*弹幕评论结束*/
代码语言:javascript
代码运行次数:0
运行
复制
/*弹幕评论开始*/
* {
	padding: 0;
	margin: 0;
}
a {
	text-decoration: none;
}
.form-control {
	display: inline-block;
	width: auto;
	padding: 6px 12px;
	font-size: 14px;
	line-height: 1.42857143;
	color: #555;
	background-color: #fff;
	background-image: none;
	border: 1px solid #ccc;
	border-radius: 4px;
	-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
	-webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
	-o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
	transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}
.btn {
	display: inline-block;
	padding: 6px 12px;
	margin-bottom: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.42857143;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	-ms-touch-action: manipulation;
	touch-action: manipulation;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-image: none;
	border: 1px solid transparent;
	border-radius: 4px;
}
.btn-primary {
	color: #fff;
	background-color: #337ab7;
	border-color: #2e6da4;
}
		/*组件主样式*/
.overflow-text {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	opacity: 0;
	clear: both;
	padding: 0 10px;
	border-radius: 10px;
	box-sizing: border-box;
	max-width: 100%;
	color: #fff;
	animation: colorchange 3s infinite alternate;
	-webkit-animation: colorchange 3s infinite alternate;
 /*Safari and Chrome*/
}
@keyframes colorchange {
	0% {
		color: red;
	}
	50% {
		color: green;
	}
	100% {
		color: #6993f9;
	}
}
#Danmu {
	height: 275px;
	overflow: hidden;
	position: fixed;
	z-index: 2;
	max-width: 100%;
	right: 50px;
	bottom: 30px;
   pointer-events: none;
}
.overflow-text {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	opacity: 0;
	padding: 3px 10px;
	border-radius: 10px;
	box-sizing: border-box;
	max-width: 100%;
	color: #fff!important;
	animation: colorchange 3s infinite alternate;
	-webkit-animation: colorchange 3s infinite alternate;
}
#Danmu li {
	display: flex;
	opacity: 0;
	border-radius: 20px;
	color: #fff;
	padding: 5px 10px 5px 10px;
	clear: both;
	font-size: 13px;
	height: 30px;
	float: right;
	line-height: 20px;
}
#Danmu li i {
	padding-left: 3px;
	padding-right: 3px;
}
#Danmu .info_zianv {
	text-decoration: underline;
	font-weight: 600;
	color: #fff;
}
#Danmu .info_zianv:hover {
	color: #fff!important;
}
#Danmu li a:first-child {
	margin-right: 6px;
	width: 20px;
}
#Danmu li a:last-child,#Danmu li a:last-child font {
	color: #fff !important;
}
#Danmu li a:last-child n {
	text-decoration: underline;
	margin: 0 5px;
}
#Danmu li img {
	width: 20px;
	height: 20px;
	border-radius: 100%;
	vertical-align: inherit;
	margin-right: 6px;
}
@keyframes colorchange {
	0% {
		color: red;
	}
	50% {
		color: green;
	}
	100% {
		color: #6993f9;
	}
}
@media (max-width: 780px) {
	#Danmu {
		right: 0;
		bottom: 5px;
	}
}
/*弹幕评论结束*/

子主题child.js

代码语言:javascript
代码运行次数:0
运行
复制
/*弹幕评论开始*/
$.fn.barrage = function(opt) {
    var _self = $(this);
    var opts = { //默认参数
        data: [], //数据列表
        row: 5, //显示行数
        time: 2500, //间隔时间
        gap: 15, //每一个的间隙
        direction: 'bottom right', //方向
        ismoseoverclose: true, //悬浮是否停止
    }
    var settings = $.extend({}, opts, opt); //合并参数
    var M = {},
        Obj = {};
    Obj.data = settings.data.data;
    M.vertical = settings.direction.split(/\s+/)[0]; //纵向
    M.horizontal = settings.direction.split(/\s+/)[1]; //横向
    M.bgColors = ['#f79a3e', '#e66760', '#5382af', ' #aea79f', '#37b8af', '#008b5d', ' #f0b849', '#499df3',
        ' #5f6c72', ' #8c88cd'
    ]; //随机背景色数组
    Obj.arrEle = []; //预计存储dom集合数组
    M.barrageBox = $('<div id="Danmu""></div>'); //存所有弹幕的盒子
    M.timer = null;
    var createView = function() {
        var randomIndex = Math.floor(Math.random() * M.bgColors.length);
        var ele = $('<li class="overflow-text" style="opacity:0;text-align:' + settings.direction.split(/\s+/)[
                1] + ';float:' + settings.direction.split(/\s+/)[1] + ';background-color:' + M.bgColors[
                randomIndex] + '"; ><a class="img" target="_blank" href="' + (Obj.data[0].user.link ? Obj
                .data[0].user.link : "javascript:;") + '"><img src="' + Obj.data[0].user.avatar +
            '"width="40" height="40"></a>' + Obj.data[0].content + '</li>');
        var str = Obj.data.shift();
        ele.animate({
            'opacity': 1,
            'margin-bottom': settings.gap
        }, 1000)
        M.barrageBox.append(ele);
        Obj.data.push(str);
        if (M.barrageBox.children().length > settings.row) {
            M.barrageBox.children().eq(0).animate({
                'opacity': 0,
            }, 300, function() {
                $(this).css({
                    'margin': 0,
                }).remove();
            })
        }
    }
    M.mouseClose = function() {
        settings.ismoseoverclose && (function() {
            M.barrageBox.mouseover(function() {
                clearInterval(M.timer);
                M.timer = null;
            }).mouseout(function() {
                M.timer = setInterval(function() { //循环
                    createView();
                }, settings.time)
            })

        })()
    }
    Obj.close = function() {
        M.barrageBox.remove();
        clearInterval(M.timer);
        M.timer = null;
    }
    Obj.start = function() {
        if (M.timer) return;
        _self.append(M.barrageBox); //把弹幕盒子放到页面中
        createView(); //创建试图并开始动画
        M.timer = setInterval(function() { //循环
            createView();
        }, settings.time)
        M.mouseClose();
    }
    return Obj;
}

$.ajax({
    type: "POST",
    data: {
        count: 20, //获取的评论数量
        paged: 1, //分页
    },
    url: 'https://www.lmtd.cn/wp-json/b2/v1/getNewComments', //api地址
    success: function(data) {
        var Obj = $('body').barrage({
            data: data,
            //数据
            row: 6,
            //显示行数
            time: 2500,
            //时间
            gap: 15,
            //间隙
            ismoseoverclose: true,
            //悬浮是否停止
        })
        if ($('#Danmu').length == 0) {
            Obj.start();
        }
    }
});
/*弹幕评论结束*/
代码语言:javascript
代码运行次数:0
运行
复制
/*弹幕评论开始*/
$.fn.barrage = function(opt) {
	var _self = $(this);
	var opts = { //默认参数
		data: [], //数据列表
		row: 5, //显示行数
		time: 2500, //间隔时间
		gap: 15, //每一个的间隙
		direction: 'bottom right', //方向
		ismoseoverclose: true, //悬浮是否停止
	}
	var settings = $.extend({}, opts, opt); //合并参数
	var M = {},
		Obj = {};
	Obj.data = settings.data.data;
	M.vertical = settings.direction.split(/\s+/)[0]; //纵向
	M.horizontal = settings.direction.split(/\s+/)[1]; //横向
	M.bgColors = ['#f79a3e', '#e66760', '#5382af', ' #aea79f', '#37b8af', '#008b5d', ' #f0b849', '#499df3',
		' #5f6c72', ' #8c88cd'
	]; //随机背景色数组
	Obj.arrEle = []; //预计存储dom集合数组
	M.barrageBox = $('<div id="Danmu""></div>'); //存所有弹幕的盒子
	M.timer = null;
	var createView = function() {
		var randomIndex = Math.floor(Math.random() * M.bgColors.length);
		var ele = $('<li class="overflow-text" style="opacity:0;text-align:' + settings.direction.split(/\s+/)[
				1] + ';float:' + settings.direction.split(/\s+/)[1] + ';background-color:' + M.bgColors[
				randomIndex] + '"; ><a class="img" target="_blank" href="' + (Obj.data[0].user.link ? Obj
				.data[0].user.link : "javascript:;") + '"><img src="' + Obj.data[0].user.avatar +
			'"width="40" height="40"></a>' + Obj.data[0].content + '</li>');
		var str = Obj.data.shift();
		ele.animate({
			'opacity': 1,
			'margin-bottom': settings.gap
		}, 1000)
		M.barrageBox.append(ele);
		Obj.data.push(str);
		if (M.barrageBox.children().length > settings.row) {
			M.barrageBox.children().eq(0).animate({
				'opacity': 0,
			}, 300, function() {
				$(this).css({
					'margin': 0,
				}).remove();
			})
		}
	}
	M.mouseClose = function() {
		settings.ismoseoverclose && (function() {
			M.barrageBox.mouseover(function() {
				clearInterval(M.timer);
				M.timer = null;
			}).mouseout(function() {
				M.timer = setInterval(function() { //循环
					createView();
				}, settings.time)
			})

		})()
	}
	Obj.close = function() {
		M.barrageBox.remove();
		clearInterval(M.timer);
		M.timer = null;
	}
	Obj.start = function() {
		if (M.timer) return;
		_self.append(M.barrageBox); //把弹幕盒子放到页面中
		createView(); //创建试图并开始动画
		M.timer = setInterval(function() { //循环
			createView();
		}, settings.time)
		M.mouseClose();
	}
	return Obj;
}

$.ajax({
	type: "POST",
	data: {
		count: 20, //获取的评论数量
		paged: 1, //分页
	},
	url: 'https://www.lmtd.cn/wp-json/b2/v1/getNewComments', //api地址
	success: function(data) {
		var Obj = $('body').barrage({
			data: data,
			//数据
			row: 6,
			//显示行数
			time: 2500,
			//时间
			gap: 15,
			//间隙
			ismoseoverclose: true,
			//悬浮是否停止
		})
		if ($('#Danmu').length == 0) {
			Obj.start();
		}
	}
});
/*弹幕评论结束*/

手机端不需要显示的话 把css中最底部的 @media (max-width: 780px) { #Danmu { display: none; } } 改成这样就不显示了

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 7b2主题怎么设置评论气泡
    • 气泡如图:
    • 头部自定义HTML
    • 子主题style.css
    • 子主题child.js
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档