前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >7b2主题评论气泡

7b2主题评论气泡

作者头像
小狐狸说事
发布2022-12-01 17:23:19
2700
发布2022-12-01 17:23:19
举报
文章被收录于专栏:小狐狸说事

其他主题有接口也可以使用

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

气泡如图:

CSS样式代码:

代码语言:javascript
复制
* {
	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: 0;
	max-width: 100%;
	right: 50px;
	bottom: 30px;
}

.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;
	}
}

JS代码:

代码语言:javascript
复制
/**
姓名:小狐狸
site: http://www.xiaohuli.vip
更新时间 :2018-04-03
QQ : 2935868921
github : https://github.com/515184405/barrage 还有一些其他的项目哦,欢迎star
**/
$.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: {
},
url: '', //api地址
success: function(data) {
var Obj = $('body').barrage({
data: data,
//数据
row: 6,
//显示行数
time: 2500,
//时间
gap: 15,
//间隙
ismoseoverclose: true,
//悬浮是否停止
})
if ($('#Danmu').length == 0) {
Obj.start();
}
}
});

如果主题没有引入jquery.min.js,需要自己引入。

在页脚文件引入css和js:

代码语言:javascript
复制
<link rel="stylesheet" href="/wp-content/themes/css.css">
<script type="text/javascript" src="/wp-content/themes/js.js"></script> 

提供下载的修复了占位置的问题,有弹幕的地方无法点击问题。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档