提示
这是7ers期末演唱会大屏幕的子页面。
显示/移除行号
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>title</title>
  5. <script src="./js/jq.js" type="text/javascript"></script>
  6. <script src="./js/bootstrap.min.js" type="text/javascript"></script>
  7. <link href="./js/jplayer.blue.monday.css" rel="stylesheet" type="text/css" />
  8. <script type="text/javascript" src="./js/jquery.jplayer.min.js"></script>
  9. <script type="text/javascript" src="./js/add-on/jquery.jplayer.inspector.js"></script>
  10. <link href="./css/bootstrap.min.css" rel="stylesheet" type="text/css" />
  11. <style type="text/css">
  12. p,input,a,span,div,a,h1{
  13. font-family:"微软雅黑","黑体";
  14. vertical-align:middle;
  15. }
  16. #WeiboCo,#WeiboR,#WeiboC{
  17. color:white;
  18. background-color:orange;
  19. font-size:37px;
  20. height:45px;
  21. padding:5px;
  22. }
  23. .Mains{
  24. padding-top:40px;
  25. padding-right:20px;
  26. padding-left:20px;
  27. height:630px;
  28. width:980px;
  29. }
  30. #MainCo{
  31. height:300px;
  32. display:block;
  33. }
  34. #CurCo{
  35. background-color:#00AA88;
  36. height:100%;
  37. text-align:center;
  38. display:inline;
  39. }
  40. #CurUserName{
  41. height:100%;
  42. display:inline;
  43. background-color:#00AA88;
  44. vertical-align:middle;
  45. text-align:center;
  46. font-size:40px;
  47. }
  48. #CurUserNameP{
  49. padding-top:35%;
  50. line-height:100%;
  51. }
  52. #CurUserSong{
  53. height:9%;
  54. width:80%;
  55. display:inline;
  56. margin-top:7%;
  57. }
  58. #CurUserSong{
  59. width:80%;
  60. height:20%;
  61. font-size:35px;
  62. }
  63. #EnterMusic{
  64. width:20%;
  65. height:20%;
  66. font-size:40px;
  67. padding-top:5%;
  68. margin-top:5%;
  69. }
  70. #SingerCo{
  71. display:block;
  72. height:150px;
  73. text-align:center;
  74. margin-top:3%;
  75. }
  76. .Singer{
  77. width:9%;
  78. height:70%;
  79. font-size:25px;
  80. padding-top:3.5%;
  81. line-height:100%;
  82. }
  83. #SingerInfoCo{
  84. margin-top:30%;
  85. filter:alpha(opacity=50); /*IE滤镜,透明度50%*/
  86. -moz-opacity:0.5; /*Firefox私有,透明度50%*/
  87. opacity:0.5;/*其他,透明度50%*/
  88. }
  89. #SingerInfo{
  90. font-size:35px;
  91. line-height:110%;
  92. }
  93. .bold{
  94. font-weight:bold;
  95. }
  96. #PlayingMusic{
  97. font-size:40px;
  98. font-weight:bold;
  99. color:white;
  100. }
  101. #jqplayer{
  102. filter:alpha(opacity=70); /*IE滤镜,透明度50%*/
  103. -moz-opacity:0.7; /*Firefox私有,透明度50%*/
  104. opacity:0.7;/*其他,透明度50%*/
  105. }
  106. #imgbg{
  107. right: 0;
  108. bottom: 0;
  109. width:1024px;
  110. height:768px;
  111. position: absolute;
  112. top: 0;
  113. left: 0;
  114. z-index: -1;
  115. display:none;
  116. }
  117. .Score{
  118. font-size:14px;
  119. line-height:100%;
  120. filter:alpha(opacity=70); /*IE滤镜,透明度50%*/
  121. -moz-opacity:0.7; /*Firefox私有,透明度50%*/
  122. opacity:0.7;/*其他,透明度50%*/
  123. }
  124. .scores{
  125. font-size:30px;
  126. }
  127. #Text{
  128. line-height:100%;
  129. font-size:25px;
  130. text-align:center;
  131. }
  132. #PB{
  133. font-size:25px;
  134. }
  135. </style>
  136. <script src="./setting.js" type="text/javascript"></script>
  137. <script type="text/javascript"> /*微博导航栏部分*/
  138. var WeiUed=new Array();
  139. /*== 读取微博讯息 ==================*/
  140. var WeiboUrl='http://widget.weibo.com/livestream/listlive.php?language=zh_cn&atopic='+encodeURIComponent(WeiboTopic)+' .liveStream_main_feed';
  141. function NormalIt(id){
  142. var IdS=parseInt($('#Score'+id).html());
  143. $('#Singer'+id).removeClass('btn-primary btn-danger btn-inverse btn-info btn-success btn-warning');
  144. if(IdS<Lv[0]){
  145. $('#Singer'+id).addClass('btn-inverse');
  146. }else if(IdS<Lv[1]){
  147. $('#Singer'+id).addClass('btn-info');
  148. }else if(IdS<Lv[2]){
  149. $('#Singer'+id).addClass('btn-success');
  150. }else if(IdS<Lv[3]){
  151. $('#Singer'+id).addClass('btn-warning');
  152. }else if(IdS<Lv[4]){
  153. $('#Singer'+id).addClass('btn-primary');
  154. }else{
  155. $('#Singer'+id).addClass('btn-danger');
  156. }
  157. }
  158. function ChooseIt(id){
  159. $('#Singer'+id).removeClass('btn-primary btn-danger btn-inverse btn-info btn-success btn-warning');
  160. $('#Singer'+id).addClass('btn');
  161. }
  162. function WeiboUpdate(){
  163. $("#WeiboOri").load(WeiboUrl,function(){
  164. var WeiboV=WeiboIc+WeiboAlert+'&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp',i,j,k;
  165. for(i=1,j=1;j<=10;++i,++j){
  166. var WeiC=$(".liveStream_mainFeed_listContent_txt:eq("+(i-1)+")").html();
  167. var WeiT=$(".liveStream_mainFeed_listContent_actionTime:eq("+(i-1)+")").text();
  168. if(WeiC!=null){
  169. if(WeiC.match(WeiboP)!=null){/*关键词屏蔽*/
  170. --j;
  171. continue;
  172. }
  173. if(j<=WeiboNum)WeiboV+=$(".liveStream_mainFeed_listPic:eq("+(i-1)+")").html()+'<a title="@" target="_blank">@</a>'+WeiC+'<span style="color:grey">('+WeiT+')</span>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp';
  174. if(WeiUed[WeiC]!=1){
  175. for(k=1;k<=8;++k){
  176. if(WeiC.match(WeiboName[k])!=null){
  177. WeiUed[WeiC]=1;
  178. $("#Score"+k).html((parseInt($("#Score"+k).html())+1));
  179. }
  180. }
  181. }
  182. }else{
  183. break;
  184. }
  185. }
  186. WeiboV+='<span id="PB">'+WeiboIc+AW1+'&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</span>';
  187. $("#WeiboC").html(WeiboV);
  188. var Q;
  189. for(Q=1;Q<=8;++Q){
  190. if(Q!=ActiveS)
  191. NormalIt(Q);
  192. }
  193. setTimeout(function(){WeiboUpdate();},UpdateTimeout);
  194. });
  195. };
  196. /*== 滚动条插件 ==================*/
  197. (function ($) {
  198. $.fn.marquee = function (klass) {
  199. var newMarquee = [],
  200. last = this.length;
  201. function getReset(newDir, marqueeRedux, marqueeState) {
  202. var behavior = marqueeState.behavior, width = marqueeState.width, dir = marqueeState.dir;
  203. var r = 0;
  204. if (behavior == 'alternate') {
  205. r = newDir == 1 ? marqueeRedux[marqueeState.widthAxis] - (width*2) : width;
  206. } else if (behavior == 'slide') {
  207. if (newDir == -1) {
  208. r = dir == -1 ? marqueeRedux[marqueeState.widthAxis] : width;
  209. } else {
  210. r = dir == -1 ? marqueeRedux[marqueeState.widthAxis] - (width*2) : 0;
  211. }
  212. } else {
  213. r = newDir == -1 ? marqueeRedux[marqueeState.widthAxis] : 0;
  214. }
  215. return r;
  216. }
  217. function animateMarquee() {
  218. var i = newMarquee.length,
  219. marqueeRedux = null,
  220. $marqueeRedux = null,
  221. marqueeState = {},
  222. newMarqueeList = [],
  223. hitedge = false;
  224. while (i--) {
  225. marqueeRedux = newMarquee[i];
  226. $marqueeRedux = $(marqueeRedux);
  227. marqueeState = $marqueeRedux.data('marqueeState');
  228. if ($marqueeRedux.data('paused') !== true) {
  229. marqueeRedux[marqueeState.axis] += (marqueeState.scrollamount * marqueeState.dir);
  230. hitedge = marqueeState.dir == -1 ? marqueeRedux[marqueeState.axis] <= getReset(marqueeState.dir * -1, marqueeRedux, marqueeState) : marqueeRedux[marqueeState.axis] >= getReset(marqueeState.dir * -1, marqueeRedux, marqueeState);
  231. if ((marqueeState.behavior == 'scroll' && marqueeState.last == marqueeRedux[marqueeState.axis]) || (marqueeState.behavior == 'alternate' && hitedge && marqueeState.last != -1) || (marqueeState.behavior == 'slide' && hitedge && marqueeState.last != -1)) {
  232. if (marqueeState.behavior == 'alternate') {
  233. marqueeState.dir *= -1;
  234. }
  235. marqueeState.last = -1;
  236. $marqueeRedux.trigger('stop');
  237. marqueeState.loops--;
  238. if (marqueeState.loops === 0) {
  239. if (marqueeState.behavior != 'slide') {
  240. marqueeRedux[marqueeState.axis] = getReset(marqueeState.dir, marqueeRedux, marqueeState);
  241. } else {
  242. marqueeRedux[marqueeState.axis] = getReset(marqueeState.dir * -1, marqueeRedux, marqueeState);
  243. }
  244. $marqueeRedux.trigger('end');
  245. } else {
  246. newMarqueeList.push(marqueeRedux);
  247. $marqueeRedux.trigger('start');
  248. marqueeRedux[marqueeState.axis] = getReset(marqueeState.dir, marqueeRedux, marqueeState);
  249. }
  250. } else {
  251. newMarqueeList.push(marqueeRedux);
  252. }
  253. marqueeState.last = marqueeRedux[marqueeState.axis];
  254. $marqueeRedux.data('marqueeState', marqueeState);
  255. } else {
  256. newMarqueeList.push(marqueeRedux);
  257. }
  258. }
  259. newMarquee = newMarqueeList;
  260. if (newMarquee.length) {
  261. setTimeout(animateMarquee, WeiboSpeed);
  262. }
  263. }
  264. this.each(function (i) {
  265. var $marquee = $(this),
  266. width = $marquee.attr('width') || $marquee.width(),
  267. height = $marquee.attr('height') || $marquee.height(),
  268. $marqueeRedux = $marquee.after('<div ' + (klass ? 'class="' + klass + '" ' : '') + 'style="display: block-inline; width: ' + width + 'px; height: ' + height + 'px; overflow: hidden;"><div style="float: left; white-space: nowrap;">' + $marquee.html() + '</div></div>').next(),
  269. marqueeRedux = $marqueeRedux.get(0),
  270. hitedge = 0,
  271. direction = ($marquee.attr('direction') || 'left').toLowerCase(),
  272. marqueeState = {
  273. dir : /down|right/.test(direction) ? -1 : 1,
  274. axis : /left|right/.test(direction) ? 'scrollLeft' : 'scrollTop',
  275. widthAxis : /left|right/.test(direction) ? 'scrollWidth' : 'scrollHeight',
  276. last : -1,
  277. loops : $marquee.attr('loop') || -1,
  278. scrollamount : $marquee.attr('scrollamount') || this.scrollAmount || 2,
  279. behavior : ($marquee.attr('behavior') || 'scroll').toLowerCase(),
  280. width : /left|right/.test(direction) ? width : height
  281. };
  282. if ($marquee.attr('loop') == -1 && marqueeState.behavior == 'slide') {
  283. marqueeState.loops = 1;
  284. }
  285. $marquee.remove();
  286. if (/left|right/.test(direction)) {
  287. $marqueeRedux.find('> div').css('padding', '0 ' + width + 'px');
  288. } else {
  289. $marqueeRedux.find('> div').css('padding', height + 'px 0');
  290. }
  291. $marqueeRedux.bind('stop', function () {
  292. $marqueeRedux.data('paused', true);
  293. }).bind('pause', function () {
  294. $marqueeRedux.data('paused', true);
  295. }).bind('start', function () {
  296. $marqueeRedux.data('paused', false);
  297. }).bind('unpause', function () {
  298. $marqueeRedux.data('paused', false);
  299. }).data('marqueeState', marqueeState);
  300. newMarquee.push(marqueeRedux);
  301. marqueeRedux[marqueeState.axis] = getReset(marqueeState.dir, marqueeRedux, marqueeState);
  302. $marqueeRedux.trigger('start');
  303. if (i+1 == last) {
  304. animateMarquee();
  305. }
  306. });
  307. return $(newMarquee);
  308. };
  309. }(jQuery));
  310. </script>
  311. <script type="text/javascript">/*选手界面*/
  312. var ActiveS=0,DisS=[0,0,0,0,0,0,0,0,0],PlayID=0,AllSN=PN,u=0;
  313. function Active(id){
  314. if(ActiveS!=0){
  315. NormalIt(ActiveS);
  316. }
  317. if(DisS[id]==1)return;
  318. if(id!=0){
  319. ChooseIt(id);
  320. $("#CurUserNameP").html(SingerD[id]);
  321. $("#CurUserSong").attr("value",SongN[id]);
  322. }
  323. if(id==0){
  324. $('#EnterMusic').addClass("disabled");
  325. $("#CurUserNameP").html('?');
  326. $("#CurUserSong").attr("value",'接下来是哪一首歌呢?');
  327. }
  328. ActiveS=id;
  329. }
  330. function GetRandomNum(Min,Max){
  331. var Range = Max - Min;
  332. var Rand = Math.random();
  333. return(Min + Math.round(Rand * Range));
  334. }
  335. function ActiveNext(){
  336. var tt=ActiveS%8+1;
  337. while(DisS[tt]==1)
  338. tt=tt%8+1
  339. Active(tt);
  340. }
  341. function RandomChoose(){
  342. var i,j;
  343. u=1;
  344. $('#EnterMusic').addClass("disabled");
  345. for(i=0;i<=GetRandomNum(1000,2000);i+=50)
  346. setTimeout(function(){ActiveNext();},i);
  347. for(j=0;j<=GetRandomNum(1000,3000);i+=100,j+=100){
  348. setTimeout(function(){ActiveNext();},i);
  349. }
  350. for(j=0;j<=GetRandomNum(0,4000);i+=800,j+=800){
  351. setTimeout(function(){ActiveNext();},i);
  352. }
  353. setTimeout(function(){$('#EnterMusic').removeClass("disabled");u=0;},i+10);
  354. }
  355. $(document).ready(function(){
  356. $('#Text').html(Texts);
  357. var p;
  358. for(p=PN+1;p<=8;++p){
  359. $('#Singer'+p).css('display','none');
  360. DisS[p]=1;
  361. }
  362. $("title").html(Title);
  363. $("#WeiboR").marquee();
  364. WeiboUpdate();
  365. $("#AlertI").html(AlertD);
  366. $("#AlertModal").modal('show');
  367. $("#Main").slideDown('slow');
  368. for(i=1;i<=8;++i){
  369. $("#Singer"+i).html(SingerN[i]+'<br/><span class="Score">微博人气<br><span class="scores" id="Score'+i+'">0</span></span>');
  370. NormalIt(i);
  371. }
  372. $('#Singer1').click(function(){Active(1);$('#EnterMusic').removeClass("disabled");});
  373. $('#Singer2').click(function(){Active(2);$('#EnterMusic').removeClass("disabled");});
  374. $('#Singer3').click(function(){Active(3);$('#EnterMusic').removeClass("disabled");});
  375. $('#Singer4').click(function(){Active(4);$('#EnterMusic').removeClass("disabled");});
  376. $('#Singer5').click(function(){Active(5);$('#EnterMusic').removeClass("disabled");});
  377. $('#Singer6').click(function(){Active(6);$('#EnterMusic').removeClass("disabled");});
  378. $('#Singer7').click(function(){Active(7);$('#EnterMusic').removeClass("disabled");});
  379. $('#Singer8').click(function(){Active(8);$('#EnterMusic').removeClass("disabled");});
  380. $('#EnterMusic').click(function(){
  381. if(ActiveS!=0&&u==0){
  382. DisS[ActiveS]=1;
  383. $('#Singer'+ActiveS).addClass('disabled');
  384. PlayID=ActiveS;
  385. $('#PlayingMusic').html(SongN[PlayID]);
  386. $('#PlayingSinger').html(SingerD[PlayID]);
  387. $('#PlayingOri').html(OriN[PlayID]);
  388. --AllSN;
  389. $('#imgbg').attr('src','./jpg/'+ActiveS+'.jpg');
  390. $('#Main').slideUp(1000,function(){Active(0);});
  391. $('#imgbg').fadeIn(2500);
  392. $('#MainPlay').fadeIn(2500);
  393. $("#jquery_jplayer_1").jPlayer({
  394. volume: 1,
  395. swfPath: "./js",
  396. supplied: "mp3",
  397. wmode: "window",
  398. smoothPlayBar: true,
  399. keyEnabled: true
  400. });
  401. $("#jquery_jplayer_1").jPlayer("setMedia", {mp3:"./mp3/"+PlayID+".mp3"});
  402. if(MusicTime!=-1)
  403. setTimeout(function(){$("#jquery_jplayer_1").jPlayer( "play",1);},MusicTime);
  404. }
  405. });
  406. $('#CurUserNameP').click(function(){
  407. if($('#CurUserNameP').html()=='?'){
  408. RandomChoose();
  409. }
  410. });
  411. $('#StopPlaying').click(function(){
  412. $("#jquery_jplayer_1").jPlayer( "stop");
  413. $('#imgbg').fadeOut(2500);
  414. $('#MainPlay').fadeOut(2500);
  415. $('#Main').slideDown(1000);
  416. if(AllSN==1){
  417. ActiveNext();
  418. $('#EnterMusic').removeClass("disabled");u=0;
  419. }
  420. if(AllSN==0){
  421. $("#CurUserNameP").html('★');
  422. $("#CurUserSong").attr("value",'本场演唱会到此结束,谢谢大家!');
  423. }
  424. });
  425. $("#WA").click(function(){WeiboUpdate();});
  426. });
  427. </script>
  428. </head>
  429. <body class="row-fluid">
  430. <div id="WeiboOri" style="display:none"></div>
  431. <div id="WeiboCo"><div id="WeiboR" loop=1><p id="WeiboC">Welcome</p></div></div>
  432. <div class="modal" id="AlertModal">
  433. <div class="modal-header">
  434. <a class="close" data-dismiss="modal">×</a>
  435. <h3>提示</h3>
  436. </div>
  437. <div class="modal-body">
  438. <p id="AlertI"></p>
  439. </div>
  440. <div class="modal-footer">
  441. <a href="#" class="btn btn-primary" onclick="$('#AlertModal').modal('hide')">确认</a>
  442. </div>
  443. </div>
  444. <div id="Main" class="Mains" style="display:none;">
  445. <div id="MainCo">
  446. <div id="CurUserName" class="span4"><p id="CurUserNameP">?</p></div>
  447. <div id="CurCo" class="span8">
  448. <input id="CurUserSong" class="focused input-xlarge"type="text" value="接下来是哪一首歌呢?"/>
  449. <br/>
  450. <a href="#" class="btn btn-danger disabled" id="EnterMusic">Music</a>
  451. </div>
  452. </div>
  453. <div id="SingerCo">
  454. <a id="Singer1" class="btn Singer">某某某</a>
  455. <a id="Singer2" class="btn Singer">某某某</a>
  456. <a id="Singer3" class="btn Singer">某某某</a>
  457. <a id="Singer4" class="btn Singer">某某某</a>
  458. <a id="Singer5" class="btn Singer">某某某</a>
  459. <a id="Singer6" class="btn Singer">某某某</a>
  460. <a id="Singer7" class="btn Singer">某某某</a>
  461. <a id="Singer8" class="btn Singer">某某某</a>
  462. </div>
  463. <div id="Text"></div>
  464. </div>
  465. <div id="MainPlay" class="Mains" style="display:none;">
  466. <section id="jqplayer">
  467. <div id="jquery_jplayer_1" class="jp-jplayer" style="position:absolute;"></div>
  468. <div id="jp_container_1" class="jp-audio" style="auto;position:absolute;margin-left:55%;">
  469. <div class="jp-type-single">
  470. <div class="jp-gui jp-interface">
  471. <ul class="jp-controls">
  472. <li><a href="javascript:;" class="jp-play" tabindex="1">play</a></li>
  473. <li><a href="javascript:;" class="jp-pause" tabindex="1">pause</a></li>
  474. <li><a href="javascript:;" class="jp-stop" tabindex="1">stop</a></li>
  475. <li><a href="javascript:;" class="jp-mute" tabindex="1" title="mute">mute</a></li>
  476. <li><a href="javascript:;" class="jp-unmute" tabindex="1" title="unmute">unmute</a></li>
  477. <li><a href="javascript:;" class="jp-volume-max" tabindex="1" title="max volume">max volume</a></li>
  478. </ul>
  479. <div class="jp-progress">
  480. <div class="jp-seek-bar">
  481. <div class="jp-play-bar"></div>
  482. </div>
  483. </div>
  484. <div class="jp-volume-bar">
  485. <div class="jp-volume-bar-value"></div>
  486. </div>
  487. <div class="jp-current-time"></div>
  488. <div class="jp-duration"></div>
  489. <ul class="jp-toggles">
  490. <li><a href="javascript:;" class="jp-repeat" tabindex="1" title="repeat">repeat</a></li>
  491. <li><a href="javascript:;" class="jp-repeat-off" tabindex="1" title="repeat off">repeat off</a></li>
  492. </ul>
  493. </div>
  494. <div class="jp-title">
  495. <ul>
  496. <li>本页面由<a href="http://www.tupulin.com">兔普林</a><a href="http://huati.weibo.com/125710">#7ers期末演唱会#</a>提供</li>
  497. </ul>
  498. </div>
  499. <div class="jp-no-solution">
  500. <span>Update Required</span>
  501. To play the media you will need to either update your browser to a recent version or update your <a href="http://get.adobe.com/flashplayer/" target="_blank">Flash plugin</a>.
  502. </div>
  503. </div>
  504. </div>
  505. </section>
  506. <div id="SingerInfoCo" class="alert alert-success span6">
  507. <a id="StopPlaying" class="close">×</a>
  508. <div id="SingerInfo">
  509. <h1 id="PlayingMusic">Name</h1>
  510. <p><span class="bold">演唱者:</span><span id="PlayingSinger">Sb</span></p>
  511. <p><span id="PlayingOri" style="color:yellow;">Nothing</span></p>
  512. </div>
  513. </div>
  514. </div>
  515. <img id="imgbg" src="./jpg/1.jpg" width="100%" height="100%" />
  516. </body>
  517. </html>

著作权声明[编辑]

关于[编辑]