一、代码
HTML+JS
<! Doctype html> <html> <head> <meta charset = "utf-8"> <Title> 数发直播平台 </title> <link rel = "stylesship" type = "text/css" href = "css/common.css"> <link rel = "stylesheet" type = "css" href = "css/csss/" css/"css/" css/"css/" css/"csss/" css/"css/" csss/" src = "http://static9.pplive.cn/vip/201507/pay/v_20150721174241/js/jquery.min.js"> </script> </head> <body id = "body"> <div> <div> <a href = "Javascript :; data-target = "LiveProgram"> </a> <a href = "javascript:;" data-target = "barrage"> <i> </i> </a> </div> <div> <!-弹幕-> <div> <div> <div> <ul> <li> <span data-name = "sysmsg"> 系统消息 : </span> <pran> 欢迎进入宁夏卫视! data-name = "liiuxiaobao"> starof <i> </i> : </span> <pan> 评论 1 </span> </li> <li> <span data-name = "liiuxiaobao"> starof <i> </i> : </span> <pran> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> </i> : </span> <pan> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> data-name = "liiuxiaobao"> starof <i> </i> : </span> <pan> 评论 1 </span> </li> <li> <span data-name = "liiuxiaobao"> starof <i> </i> : </span> <pran> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> </i> : </span> <pan> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> data-name = "liiuxiaobao"> starof <i> </i> : </span> <pan> 评论 1 </span> </li> <li> <span data-name = "liiuxiaobao"> starof <i> </i> : </span> <pran> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> </i> : </span> <pan> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> data-name = "liiuxiaobao"> starof <i> </i> : </span> <pan> 评论 1 </span> </li> <li> <span data-name = "liiuxiaobao"> starof <i> </i> : </span> <pran> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> </i> : </span> <pan> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> data-name = "liiuxiaobao"> starof <i> </i> : </span> <pan> 评论 1 </span> </li> <li> <span data-name = "liiuxiaobao"> starof <i> </i> : </span> <pran> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> </i> : </span> <pan> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> data-name = "liiuxiaobao"> starof <i> </i> : </span> <pan> 评论 1 </span> </li> <li> <span data-name = "liiuxiaobao"> starof <i> </i> : </span> <pran> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> </i> : </span> <pan> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> data-name = "liiuxiaobao"> starof <i> </i> : </span> <pan> 评论 1 </span> </li> <li> <span data-name = "liiuxiaobao"> starof <i> </i> : </span> <pran> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> </i> : </span> <pan> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> data-name = "liiuxiaobao"> starof <i> </i> : </span> <pan> 评论 1 </span> </li> <li> <span data-name = "liiuxiaobao"> starof <i> </i> : </span> <pran> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> </i> : </span> <pan> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> data-name = "liiuxiaobao"> starof <i> </i> : </span> <pan> 评论 1 </span> </li> <li> <span data-name = "liiuxiaobao"> starof <i> </i> : </span> <pran> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> </i> : </span> <pan> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> data-name = "liiuxiaobao"> starof <i> </i> : </span> <pan> 评论 1 </span> </li> <li> <span data-name = "liiuxiaobao"> starof <i> </i> : </span> <pran> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> </i> : </span> <pan> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> data-name = "liiuxiaobao"> starof <i> </i> : </span> <pan> 评论 1 </span> </li> <li> <span data-name = "liiuxiaobao"> starof <i> </i> : </span> <pran> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> </i> : </span> <pan> 我的评论很长很长很长很长很长很长很长很长很长很长很长很长很长 </span> </li> <li> data-name = "_ 11367384@QQ"> _ 11367384@QQ <i> </i> : </span> <pan> fasf </span> </li> </ul> </div> </div> <div> <div id = "form-wrap"> <div> </divere = "" rows = "2". Placeholder = "请在这里输入评论" style = "display: none;"> </textarea> <p style = "display: none;"> 0/30 </p> <div style = "display: none;"> </div> <div style = "display: block;"> <p style = "Display: none;"> <a href = "javascript: void (0);"; data-type = "login"> 登录 </a> 或 <a href = "javascript: void (0);" data-type = "reg"> 注册 </a> 后可以发送弹幕 </p> <p> <a href = "http://passport.pptv.com/checkphone.aspx" target = "_ blank"> 绑定手机 </a> 即可发送弹幕哦 </p> <p style = "difle: none"> <em> </em> </p> </d div> </d div> </d Div> </d Div> </p href = "javascript: void (0);"> 发送 </a> <a href = "javascript: void (0);"> </a> <viv> <ul> <li> <pan> 弹幕显示设置 </span> <div style = "Положение: относительно;"> <pan> </span> style = "Положение: Absolute; "> </span> </div> <pan> 50%</span> </li> <li> <pan> 我的弹幕设置 </span> <div> <pan> 颜色 </span> <pan> #ffffff </span> <span style =" founject: #ffffff "> </span> </div> <div> <a href =" Javascript :; data-color = "ff0000" style = "fanone:#ff0000;"> </a> <a href = "javaScript:;" data-color = "3399ff" style = "founke:#3399ff;"> </a> <a href = "javascript:;" data-color = "00fcff" style = "founke:#00fcff;"> </a> <a href = "javascript:;" data-color = "ff9900" style = "founke:#ff9900;"> </a> <a href = "javaScript:;" data-color = "00ff12" style = "fanound:#00ff12;"> </a> <a href = "javaScript:;" data-color = "fff100" style = "founke:#fff100;"> </a> <a href = "javaScript:;" data-color = "c8b33c" style = "founke:#c8b33c;"> </a> <a href = "javascript:;" data-color = "ff0096" style = "founke:#ff0096;"> </a> <a href = "javascript:;" data-color = "8600ff" style = "foureny:#8600ff;"> </a> <a href = "javaScript:;" data-color = "3399ff" style = "fourene:#3399ff;"> </a> </div> </li> </ul> </div> </div> <!-绑定手机提示-> <div Style = "Display: none;"> <a href = "javascript: void (0);"> </a> <div> <h4> 提示 </h4> <ul> <li> 绑定完成前请不要关闭此窗口。 </li> </ul> <p> <a href = "javascript: void (0);"> 已绑定手机 </a> <a href = "http://bbs.pptv.com/forum.php?mod=viewthread&tid=31660" target = "_ blank"> 绑定遇到问题 </a> </p> </div> </div> </div> </div> </div> </div> </div> </body> </div> </div> </div> </div> </div> </body> </div> barwidth) {// var $ box = $ ('. Dragbar'); var $ bg = $ ('.. Dragbar'); var $ bgcolor = $ ('. Progress'); var $ btn = $ ('. Icon'); var $ text = $ ('. процент'); var statu = false; var ox = 0; var lx = 0; var var = 0; 0; $ btn.mousedown (function (e) {lx = $ btn.offset (). Слева; // ox = e.pagex - left; statu = true;}); $ (документ) .mouseup (function () {statu = false;}); $ bg.mouseMove (e) {if (statU) {left =. = 0;} if (left> barwidth) {left = barwidth;} $ btn.css ('слева', слева); $ bgcolor.width (слева); $ text.html (parseint (слева / barwidth*100) + '%');}}); $ bg.offset (). left; left = e.pagex - bgleft; if (left <0) {left = 0;} if (слева> barwidth) {left = barwidth;} $ btn.css ('left', слева); $ bgcolor.stop (). animate (width: Left}, Barwidth); Barwidth*100) + '%');}});} // 发表评论 $ (". Комментарии Textarea"). Focus (function () {$ ("#form-wrap"). addClass ("Focus");}); $ ('. Комментарии-area textarea'). Bind ('inputchange', function () {$ ('. .num '). html ($ ('. Комментарии Textarea '). val (). Длина+"/30"); $ (". Комментарии Textarea"). Blur (function () {if ($ ('. Комментарии Textarea '). val (). Length == 0) {$ ("#form-wrap"). removeClass ("Focus");}}); $ (". Btn-set"). Click (function (function (function (function (funct evt) {$ (". setform"). toggle (); evt.stoppropagation? evt.stoppropagation (): evt.cancelbubble = true;}); $ (". TabCon "). Click (function () {if ($ (".. SetForm "). IS (": visible ")) {$ (". SetForm "). Hide ();}}); $ (". SetForm "). C. lick (function (evt) {evt.stoppropagation? evt.stoppropagation (): evt.cancelbubble = true;}); $ (". TakeColor a "). Click (function () {$ (". rgb-set .rgb "). html ("#"+$ (this) .attr (" color ")); $ (". Rgb-set .color "). css (" fogilcolor ", $ (this) .csssssssssssssssss (" founalcolor ");CSS
Common.css
Статья, в стороне, аудио, блок -рад, тело, кнопка, код, DD, диалог, Div, DL, DT, Fieldset, фигура, нижний колонтитул, форма, H1, H2, H3, H4, H5, H6, Header, Hgroup, HR, Legend, Li, Mark, Menu, Nav, P, Pre, Section, Table, Tbody, Td, T., TexataRea OT, TH, Thead, Time, UL, видео {Margin: 0; PADDING: 0; ОПАРНИЕ: 0; Фон: Прозрачная} Статья, в сторону, диалог, фигура, нижний колонтитул, заголовок, hGroup, NAV, раздел {Display: Block} Body, Button, Input, Select, TextArea {font: 12px/1.5 Arial,/5b8b/4f53, Sans-Serif} Кнопка, H1, H2, H3, H4, H5, H6, ввод, Select, Textarea {Font-Size: 100%} Адрес, CITE, DFN, EM, VAR {Font-Style: Нормальный} Код, KBD, Pre, SAMP {Font-Family: Courier Новый, курьер, Monospace} small {font-size: 12px} li, ol, ul {list-style: none} img {border: none} a {text-decoration: none; upline: thin none; cursor: pointer} a: hover {text-decoration: underline} table {border-collapse: collapsse; границы-расстояние: 0} .clear {clear: оба} .cf: after {visembiby: hidden; display: block; font-size: 0; content: " "; clear: оба; высота: 0} .fr {float: right} .fl {float: left} html {-webkit-text-size-adjust: none} body {font: 12px/1.5 /5fae/8f6f/96c5/9Ed1,tahoma, ариальное ,/5b8b/4f53,sans-serifредкаStyle.css
.lv-wrapper {width: 990px; Margin: 0 Auto; Clear: оба;}/*交互区域*/ a {float: слева; A: Hover {Border-Color:#C22; фоновое цветовое окно:#232324;}. 0px;}. Lv-right-interact-menu .barrage {background-position: 156px -44px;}. .tabcon {height: 800px; фоновый цвет:#232323;}/*评论区域*//*评论列表*/. Barrage .chat-wrap {положение: относительно; высота: 630px; overflow-x: hidden; накладки: 15px 5px 0 15px;}. Barrage. .chat {height: 630px; overflow-x: hidden;}. Barrage .chat li {Margin: 0 0 5px; Color: #555;}. Barrage .chat li span {color: #3271b7; Display: inline;}. {color: #c22;}. Barrage .chat li .vip {Display: inline-block; ширина: 20px; высота: 8px; margin: 0 0 5px; вертикальный-Align: 1px; фон: url (../ Images/videos.png) no-repeat -228px -86px; .comments-area {положение: абсолютное; внизу: 0px; слева: 0; ширина: 270px; накладка: 20px; граница-топ: 1px solid #222; фоновый цвет: #191919;}. Комментарии. } .comments-area .formText TextARea {ширина: 100%; высота: 30px; resize: none; overflow-y: hidden; фоновый цвет:#c9c9c9; цвет:#666; граница: 0 none;}. Комментарии. {float: справа; отображение: inline; ширина: 42px; высота: 24px; линейная-высота: 24px; маржа: 10px 0 0; text-align: center; color: #fff; фон: #999;}. Комментарии. 18px; Высота: 18px; Маржа: 12px 0 0; Фон: URL (../ Images/videos.png) No-Repeat -206px -86px;}/*聚焦时评论状态*/. Комментарии. TextARea {фоновый цвет: #fff;}. Комментарии-Area .focus .btn-Submit {founal-Color: #C22;}/*弹幕颜色*/. Комментарии. Сетка {позиция: абсолют; z-index: 99; цвет: #999; фон: #252525; граница: 1px solid #424242; 22px 18px 18px; top: -70px; слева: 10px; -webkit-user-select: none; moz-user-select: -moz-none; -moz-user-select: none; -o-user-select: none; -Khtml-user-select: none;--User-select: none-sele-sele-sele-sele-sele-sele-sele-sele-sele-sele-selece-sele-selece-selecte-selecte-selecte-selecte-selecte-selecte-user none; отображение: none;}. Комментарии-area .dm-config {margin: 18px 0 0 0; display: block} .comments-area .dm-config li {высота: 90px} .comments-area .dm-setname {font-size: 14px; color: #dedede; font-weight: bold; Block} .comments-area .rgb-set {height: 22px} .comments-area .rgb-set span: float: level; display: inline; цвет: #999;}. Комментарии-area .rgb {ширина: 50px; высота: 18px; граница: 1px solid #d3d3d3; line-hel-height: 18px; margin; #424242; Padding: 0 0 0 5px} .comments-area .color {ширина: 20px; высота: 20px; граница: 1px solid #d3d3d3; Маржа: -1px 0 0 2px} .comments-area .takecolor {width: 80px; margin: 5px 0 30px. a {Display: Block; ширина: 16px; высота: 16px; float: левое} .comments-area .dmopacity {float: right; граница-лето: 1px solid #d3d3d3; lapding-left: 22px} .comments-area .dragbar {width: 85px; высота: 10px; фон: #d3d3; 10px; cursor: по умолчанию} .comments-area .dragbar .progress {ширина: 50%; Положение: абсолютное; высота: 10px; top: 0; слева: 0; фон: #39f} .comments-area. #007cf7} .comments-area .percent {width: 85px; text-align: center; display: block; color: #39f}/*登录注册后发弹幕*/. Комментарии. #39F;}. Комментарии. #4d4d4d; z-index: 99;}. Pop-phone .close {позиция: Absolute; Top: 5px; справа: 5px; ширина: 28px; высота: 28px; фон: url (../ изображения/видеоикос. .close: Hover {background-Position: -205px -154px;}. Pop-phone .bd {margin: 10px 0 0 10px; Padding: 0 0 0 20px; фон: #4d4d4d url (../ Images/videos.png) no-repeat -255px -102px;}. 14px; font-weight: normal; color: #fff;}. Pop-phone .bd ul {margin: 15px 0 0;}. Pop-phone .bd li {line-high 0; Line-Height: 26px; Text-align: Center; Color: #fff; Border-Radius: 2px; фон: #888;}. Pop-Phone .bd pa: Hover {text-decoration: none;}. Pop-Phone .bd P .locked: Hover {foanle-Color: #c22;}二、实现
1 : 点击 «设置» 的图标打开设置内容框 , 点击其他地方关闭设置内容框。
1.1 、点击 «设置» 的图标打开设置内容框 , 点击其他地方关闭设置内容框。
: : 重复点击 «设置» 图标 , 内容框显示隐藏交替。 内容框显示隐藏交替。 内容框显示隐藏交替。 内容框显示隐藏交替。
$ (". Btn-set"). Click (function (evt) {$ (". setform"). toggle (); // evt.stoppropagation? evt.stoppropagation (): evt.cancelbubble = true;});第二步 , 点击其他区域 隐藏内容框。
$ (". TabCon"). Click (function () {if ($ (". SetForm"). IS (": visible")) {$ (". SetForm"). Hide ();}});此时会有问题 , 点击 «设置图标» 时显示不出来内容框。因为事件会冒泡 , .btn-set 后首先显示内容框 , .tabcon 的父元素 父元素绑定了事件让显示的内容框隐藏。解决方案就是阻止事件冒泡。即把第一步中的注释取消。
$ (". Btn-set"). Click (function (evt) {$ (". setform"). toggle (); evt.stoppropagation? evt.stoppropagation (): evt.cancelbubble = true;});第三步 , 点击内容区 正常显示。
2 、设置内容框样式
2.1 实现 HTML 如下
<div> <ul> <li> <pan> 弹幕显示设置 </span> <div style = "позиция: относительно;"> <pan> </span> <span style = "position: absolute;"> </span> </div> <pan> 50%</span> </li> <li> <span> </span> <vap> </span> <pan># style = "foureny: #ffffff"> </span> </div> <div> <a href = "javascript:;" data-color = "ff0000" style = "fanone:#ff0000;"> </a> <a href = "javaScript:;" data-color = "3399ff" style = "founke:#3399ff;"> </a> <a href = "javascript:;" data-color = "00fcff" style = "founke:#00fcff;"> </a> <a href = "javascript:;" data-color = "ff9900" style = "founke:#ff9900;"> </a> <a href = "javaScript:;" data-color = "00ff12" style = "fanound:#00ff12;"> </a> <a href = "javaScript:;" data-color = "fff100" style = "founke:#fff100;"> </a> <a href = "javaScript:;" data-color = "c8b33c" style = "founke:#c8b33c;"> </a> <a href = "javascript:;" data-color = "ff0096" style = "founke:#ff0096;"> </a> <a href = "javascript:;" data-color = "8600ff" style = "foureny:#8600ff;"> </a> <a href = "javaScript:;" data-color = "3399ff" style = "foureny:#3399ff;"> </a> </div> </li> </ul> </div>
2.2 实现 CSS 如下
/*弹幕颜色*/.setform {z-index:99;color: #999;background: #252525;border: 1px solid #424242;width: 240px;padding: 12px 22px 18px 18px;}.dm-config {margin: 18px 0 0 0;display: block}.dm-config li {height: 90px} .dm-setname {font-size: 14px; color: #deded; font-weight: bold; margin-bottom: 20px; дисплей: блок} .rgb-set {height: 22px} .rgb-step-span {float: inline:#999;}. 1px solid #d3d3d3; line-height: 18px; margin-left: 5px; цвет: #424242; Padding: 0 0 5px} .color {ширина: 20px; высота: 20px; граница: 1px solid #d3d3d3; margin: -1px 0 0 2px} .takoloror #withththolor 5px 0 0 30px} .takecolor a {display: block; width: 16px; высота: 16px; float: левое} .dmopacity {float: справа; пограничная лето: 1px solid #d3d3d3; padding-left: 22px} .dragar {width: 85px; высота: 10px; #d3d3; Относительный; маржиновый -дно: 10px; курсор: по умолчанию} .dragbar .progress {ширина: 50%; позиция: абсолют; высота: 10px; top: 0; слева: 0; фон: #39f} .dragbar .Icon. #007cf7} .percent {width: 85px; text-align: center; display: block; color: #39f}3 、进度条百分比实现
<Script> dragbar (85); function Dragbar (barwidth) {// var $ box = $ ('. Dragbar'); var $ bg = $ ('. Dragbar'); var $ bgcolor = $ ('.. Progress'); var $ btn = $ ('. Icon'); var $ text = $ ('. процент'); 0; var bgleft = 0; $ btn.mousedown (function (e) {lx = $ btn.offset (). Слева; // 距离浏览器左边的距离 ox = e.pagex - слева; statu = true;}); $ (документ) .mouseup (function () {statU = false;}); $ bg.mouseMove (fund (e) {if statU = aStU); (слева <0) {left = 0;} if (left> barwidth) {left = barwidth;} $ btn.css ('left', слева); $ bgcolor.width (слева); $ text.html (parseint (left / barwidth*100) + '%');}); {bgleft = $ bg.offset (). Left; left = e.pagex - bgleft; if (слева <0) {left = 0;} if (слева> barwidth) {left = barwidth;} $ btn.css ('слева', слева); $ bgcolor.stop (). Barwidth); $ text.html (parseint (left / barwidth*100) + '%');}});} < / script>以上所述是小编给大家介绍的 Javascript 直播评论发弹幕切图功能点集合效果代码的相关知识 希望对大家有所帮助 , 如果大家有疑问欢迎给我留言 , 小编会及时回复大家的!