<P>夜游,I服了YOU。。。</P>
<P>原来您是看到了百度的歌词同步显示效果。。。</P>
<P>其实这个不是不可以做,就是太麻烦了,不过,既然您喜欢,我给您做一个和百度差不多一样的,下次千万不要了!哈哈哈。。。</P>
<P>但是,我只能把作好的代码贴在这里。为什么要这么做?因为本论坛不支持这种显示方式。。。</P>
<P>代码(里面已经加了一些注释),但不能拷贝回去,因为原来编辑的源代码在这里粘贴后一些命令已走形了:</P>
<P><style><BR><!--<BR>.div<BR>{<BR> width:460px;<BR> height:200px;<BR> overflow-y:scroll;<BR> padding-top:80px;<BR> text-align:left;<BR> padding-left:100px;<BR> line-height:25px;<BR> font-size:13px;<BR> padding-bottom:50px;<BR>}<BR>--><BR></style><BR><script language=\"java script\"><BR>var scrollt=0;<BR>var tflag=0;//存放时间和歌词的数组的下标<BR>var lytext=new Array();//放存汉字的歌词<BR>var lytime=new Array();//存放时间<BR>var delay=10;<BR>var line=0;<BR>var scrollh=0;</P>
<P>function getLy()//取得歌词<BR>{<BR> var ly=\"[00:00]蝶儿蝶儿满天飞.[00:15]制作:天下.[00:25]歌手:高胜美.[00:32]蝴蝶恋花美,花却随春去春回.[00:39]与君双双飞,你却只能留一夜.[00:46]人情似流水,流到我心却是泪.[00:52]爱一回,痛一回,离别能教肠寸结.[00:59]蝴蝶为花醉,花却随风魂散飞.[01:06]我心慢慢给,你却将爱当宿醉.[01:12]良人唤不回,回到我梦都成灰.[01:18]盼一些,恨一些,却始终不懂后悔.[01:25]蝶儿蝶儿满天飞,OH,花儿不谢,情不会飘雪.[01:40]蝴蝶恋花美,花却随春去春回.[01:46]与君双双飞,你却只能留一夜.[01:52]人情似流水,流到我心却是泪.[01:58]爱一回,痛一回,离别能教肠寸结.[02:06]蝶儿蝶儿满天飞,OH,盼和你再梦断一回.[02:20]music…….[02:46]蝴蝶为花醉,花却随风魂散飞.[02:53]我心慢慢给,你却将爱当宿醉.[02:59]良人唤不回,回到我梦都成灰.[03:05]盼一些,恨一些,却始终不懂后悔.[03:12]蝶儿蝶儿满天飞,OH,花儿不谢,情不会飘雪.[03:26]蝶儿蝶儿满天飞,OH,盼和你再梦断一回…….[03:40]over\"<BR> return ly;<BR>}<BR>function show(t)//显示歌词<BR>{<BR> var div1=document.getElementById(\"lyr\");//取得层<BR> document.getElementById(\"lyr\").innerHTML=\" \";//每次调用清空以前的一次<BR> if(t<lytime[lytime.length-1])//先舍弃数组的最后一个<BR> {<BR> for(var k=0;k<lytext.length;k++)<BR> {<BR> if(lytime[k]<=t&&t<lytime[k+1])<BR> {<BR> scrollh=k*25;//让当前的滚动条的顶部改变一行的高度<BR> div1.innerHTML+=\"<font color=red style=font-weight:bold>\"+lytext[k]+\"</font><br>\";<BR> }<BR> else if(t<lytime[lytime.length-1])//数组的最后一个要舍弃<BR> div1.innerHTML+=lytext[k]+\"<br>\";<BR> }<BR> }<BR> else//加上数组的最后一个<BR> {<BR> for(var j=0;j<lytext.length-1;j++)<BR> div1.innerHTML+=lytext[j]+\"<br>\";<BR> div1.innerHTML+=\"<font color=red style=font-weight:bold>\"+lytext[lytext.length-1]+\"</font><br>\";<BR> }<BR>}</P>
<P>function scrollBar()//设置滚动条的滚动<BR>{<BR> if(document.getElementById(\"lyr\").scrollTop<=scrollh)<BR> document.getElementById(\"lyr\").scrollTop+=1;<BR> if(document.getElementById(\"lyr\").scrollTop>=scrollh+50)<BR> document.getElementById(\"lyr\").scrollTop-=1;<BR> window.setTimeout(\"scrollBar()\",delay);<BR>}</P>
<P>function getReady()//在显示歌词前做好准备工作<BR>{<BR> var ly=getLy();//得到歌词<BR> //alert(ly);<BR> var arrly=ly.split(\".\");//转化成数组<BR> for(var i=0;i<arrly.length;i++)<BR> sToArray(arrly);<BR> sortAr();<BR> /*for(var j=0;j<lytext.length;j++)<BR> {<BR> document.getElementById(\"lyr\").innerHTML+=lytime[j]+lytext[j]+\"<br>\";<BR> }*/<BR> scrollBar();<BR>}</P>
<P>function sToArray(str)//解析如“[00:00]蝶儿蝶儿满天飞”的字符串前放入数组<BR>{<BR> var left=0;//\"[\"的个数<BR> var leftAr=new Array();<BR> for(var k=0;k<str.length;k++)<BR> {<BR> if(str.charAt(k)==\"[\")<BR> {<BR> leftAr[left]=k;<BR> left++;<BR> }<BR> }<BR> if(left!=0)<BR> {<BR> for(var i=0;i<leftAr.length;i++)<BR> {<BR> lytext[tflag]=str.substring(str.lastIndexOf(\"]\")+1);//放歌词<BR> lytime[tflag]=conSeconds(str.substring(leftAr+1,leftAr+6));//放时间<BR> tflag++;<BR> }<BR> }<BR> //alert(str.substring(leftAr[0]+1,leftAr[0]+6));<BR>}</P>
<P>function sortAr()//按时间重新排序时间和歌词的数组<BR>{<BR> var temp=null;<BR> var temp1=null;<BR> for(var k=0;k<lytime.length;k++)<BR> {<BR> for(var j=0;j<lytime.length-k;j++)<BR> {<BR> if(lytime[j]>lytime[j+1])<BR> {<BR> temp=lytime[j];<BR> temp1=lytext[j];<BR> lytime[j]=lytime[j+1];<BR> lytext[j]=lytext[j+1];<BR> lytime[j+1]=temp;<BR> lytext[j+1]=temp1;<BR> }<BR> }<BR> }<BR>}</P>
<P>function conSeconds(t)//把形如:01:25的时间转化成秒;<BR>{<BR> var m=t.substring(0,t.indexOf(\":\"));<BR> var s=t.substring(t.indexOf(\":\")+1);<BR> s=parseInt(s.replace(/\\b(0+)/gi,\"\"));<BR> if(isNaN(s))<BR> s=0;<BR> var totalt=parseInt(m)*60+s;<BR> //alert(parseInt(s.replace(/\\b(0+)/gi,\"\")));<BR> if(isNaN(totalt))<BR> return 0;<BR> return totalt;<BR>}<BR>function getSeconds()//得到当前播放器播放位置的时间<BR>{<BR> var t=getPosition();<BR> t=t.toString();//数字转换成字符串<BR> var s=t.substring(0,t.lastIndexOf(\".\"));//得到当前的秒<BR> //alert(s);<BR> return s;<BR>}<BR>function getPosition()//返回当前播放的时间位置<BR>{<BR> var mm=document.getElementById(\"MediaPlayer1\");<BR> //var mmt=;<BR> //alert(mmt);<BR> return mm.CurrentPosition;<BR>}</P>
<P>function mPlay()//开始播放<BR>{<BR> var ms=parseInt(getSeconds());<BR> if(isNaN(ms))<BR> show(0);<BR> else<BR> show(ms);<BR> window.setTimeout(\"mPlay()\",100)<BR>}<BR>window.setTimeout(\"mPlay()\",100)<BR>function test()//测试使用,<BR>{<BR> alert(lytime[lytime.length-1]);<BR>}<BR></script><BR></head><BR><body onLoad=\"getReady()\"><BR><object id=\"MediaPlayer1\" width=\"460\" height=\"68\" classid=\"CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95\" <BR>codebase=\"<A href=\"http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715\">http://activex.microsoft ... p;#46;cab#Version=6,4,5,715</A>\" <BR>align=\"baseline\" border=\"0\" standby=\"Loading Microsoft Windows Media Player components...\" <BR>type=\"application/x-oleobject\"><BR> <param name=\"FileName\" value=\"<A href=\"http://xinfen.w8.171kj.cn/wma/16.wma\">http://xinfen.w8. ... /wma/16.wma</A>\"><BR> <param name=\"ShowControls\" value=\"1\"><BR> <param name=\"ShowPositionControls\" value=\"0\"><BR> <param name=\"ShowAudioControls\" value=\"1\"><BR> <param name=\"ShowTracker\" value=\"1\"><BR> <param name=\"ShowDisplay\" value=\"0\"><BR> <param name=\"ShowStatusBar\" value=\"1\"><BR> <param name=\"AutoSize\" value=\"0\"><BR> <param name=\"ShowGotoBar\" value=\"0\"><BR> <param name=\"ShowCaptioning\" value=\"0\"><BR> <param name=\"AutoStart\" value=\"1\"><BR> <param name=\"PlayCount\" value=\"0\"><BR> <param name=\"AnimationAtStart\" value=\"0\"><BR> <param name=\"TransparentAtStart\" value=\"0\"><BR> <param name=\"AllowScan\" value=\"0\"><BR> <param name=\"EnableContextMenu\" value=\"1\"><BR> <param name=\"ClickToPlay\" value=\"0\"><BR> <param name=\"InvokeURLs\" value=\"1\"><BR> <param name=\"DefaultFrame\" value=\"datawindow\"></P>
<P> <embed src=\"<A href=\"http://xinfen.w8.171kj.cn/wma/16.wma\">http://xinfen.w8. ... /wma/16.wma</A>\" align=\"baseline\" border=\"0\" width=\"460\" height=\"68\"<BR> type=\"application/x-mplayer2\"<BR> pluginspage=\"<A href=\"http://www.microsoft.com/isapi/redir.dll?prd=windows&sbp=mediaplayer&ar=media&sba=plugin\">http://www.microsoft& ... &sba=plugin</A>&\"<BR> name=\"MediaPlayer\" showcontrols=\"1\" showpositioncontrols=\"0\"<BR> showaudiocontrols=\"1\" showtracker=\"1\" showdisplay=\"0\"<BR> showstatusbar=\"1\"<BR> autosize=\"0\"<BR> showgotobar=\"0\" showcaptioning=\"0\" autostart=\"1\" autorewind=\"0\"<BR> animationatstart=\"0\" transparentatstart=\"0\" allowscan=\"1\"<BR> enablecontextmenu=\"1\" clicktoplay=\"0\" invokeurls=\"1\"<BR> defaultframe=\"datawindow\"><BR> </embed><BR></object><BR><div id=lyr class=div>歌词加载中……</div><BR></body><BR></html></P>
<P> </P>
<P> </P> |