- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
emv.js
资源名称:emv.rar [点击查看]
上传用户:hfhuasheng
上传日期:2007-08-09
资源大小:2125k
文件大小:14k
源码类别:
Internet/IE编程
开发平台:
HTML/CSS
- emv_ini()
- function emv_ini(){
- var l,x,y
- window.emv={}
- document.write("<style>v\:*{behavior:url(#default#vml)}</style>")
- lrc_ini()
- x=(document.body.clientWidth-600)/2
- y=(document.body.clientHeight-460)/2
- l="<div id=bxEmv ondragok=emv.dragOk() clientY="+y+" ondragstart=return(false) onselectstart=return(false) oncontextmenu=return(false) style=display:none;position:absolute;left:"+x+";top:"+y+";width:600;height:460;z-index:90>"
- l+="<div style=position:absolute;left:0;top:0;width:600;height:460;"+(isIE?"filter:progid:dximagetransform.microsoft.alphaimageloader(src=images/shadow_main.png)":"background:url(images/shadow_main.png)")+"></div>"
- l+="<img width=600 height=460 src=images/bg_main.gif>"
- l+="<table onmousedown=oDrag('bxEmv',event) style=position:absolute;left:0;top:0;height:26;width:585><tr><td></td></tr></table>"
- l+="<div onclick=emv.close() type=button src=images/btclose.gif style=position:absolute;left:562;top:6;width:15;height:15></div>"
- l+="<div id=btEmvPlay onclick=emv.play() type=button src=images/btplay.gif style=position:absolute;left:20;top:405;width:33;height:35></div>"
- l+="<div id=btEmvPause onclick=emv.pause() type=button src=images/btpause.gif style=display:none;position:absolute;left:20;top:405;width:33;height:35></div>"
- l+="<div id=barEmvPos style=position:absolute;left:25;top:389;width:0;height:10;overflow:hidden><img src=images/bar_pos.gif></div>"
- l+="<div id=btEmvPos onmousedown=oDrag(this,event) dragRange=25,389,553,389 ondrag=emv.dragPos() ondragok=emv.dragPosOk() type=button src=images/btpos.gif style=cursor:hand;position:absolute;left:25;top:389;width:20;height:11></div>"
- l+="<div id=barEmvVolume style=position:absolute;left:96;top:416;width:62;height:11;overflow:hidden><img src=images/bar_volume.gif></div>"
- l+="<div id=btEmvVolume onmousedown=oDrag(this,event) dragRange=96,416,154,416 ondrag=emv.dragVolume() type=button src=images/btvolume.gif style=cursor:hand;position:absolute;left:154;top:416;width:12;height:13></div>"
- l+="<div id=btEmvList onclick=emv.clickList() type=button src=images/btlist.gif style=position:absolute;left:54;top:409;width:25;height:27></div>"
- l+="<IE:download id=bxEmvLoad style=behavior:url(#default#download) />"
- l+="<img src=images/bg_def.jpg style=position:absolute;left:19;top:26;width:560;height:360>"
- l+="<div id=bxEmvScreen style=position:absolute;overflow:hidden;left:19;top:26;width:560;height:360></div>"
- l+="<object classid=clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95 id=mplayer style=display:none;position:absolute;left:19;top:26;width:560;height:360><param name=volume value=0><param name=ShowControls value=0><param name=ClickToPlay value=0><param name=EnableContextMenu value=0></object>"
- l+="<div id=bxEmvList style=display:none;background:black;position:absolute;padding:6;left:19;top:26;width:560;height:360;overflow:auto>"
- l+="<table id=bxEmvListTb width=100% cellpadding=2 cellspacing=0 style=color:white></table>"
- l+="</div>"
- l+="</div>"
- insHtm(document.body,l)
- button_ref()
- emv.add=function(url,name){
- var tb,tr,x,y
- x=(document.body.clientWidth-600)/2
- y=(document.body.clientHeight-460)/2
- oo("bxEmv").style.left=x
- oo("bxEmv").style.top=y
- oo("bxEmv").clientY=y
- oShow("bxEmv")
- tb=oo("bxEmvListTb")
- for(i=0;i<tb.rows.length;i++){
- if(tb.rows[i].url==url){
- if(tb.index==i)
- emv.play()
- else
- emv.play(i)
- return
- }
- }
- if(name==null)
- name=url.replace(/(.*/)(.*..*)/,"$2")
- tr=tb.insertRow()
- tr.onclick=function(){emv.play(tr.rowIndex)}
- tr.url=url
- tr.name=name
- td=tr.insertCell()
- td.innerHTML=(tr.rowIndex+1)+"."+name
- emv.play(tr.rowIndex)
- }
- emv.play=function(index){
- if(!isIE)
- return
- var tb=oo("bxEmvListTb"),url
- if(tb.index==index)
- return
- if(index==null){
- if(oo("mplayer").fileName!="")
- oo("mplayer").Play()
- return
- }
- oo("mplayer").Stop()
- if(tb.index!=null)
- tb.rows[tb.index].style.color=""
- tb.rows[index].style.color="#00FF00"
- tb.index=index
- oo("mplayer").show=0
- url=tb.rows[index].url
- if(/.txt+$/i.test(url)){
- oDel("bxCaption_l")
- oDel("bxCaption_l_cover")
- oDel("bxCaption_r")
- oDel("bxCaption_r_cover")
- if(tb.rows[index].data==null){
- oo("bxEmvScreen").innerHTML=emv.getWord("正在下载lrc歌词文件...","size:18;color:white;x:50;y:160")
- oo("bxEmvLoad").startDownload(url,function(data){lrc.setData(data)})
- oo("mplayer").fileName=""
- oo("mplayer").Stop()
- }
- else
- lrc.setData()
- }
- if(/.(mp3|wma)+$/i.test(url)){
- lrc.arr=null
- oo("mplayer").FileName=url
- oo("bxEmvScreen").innerHTML=emv.getWord("当前曲目:"+tb.rows[index].name,"size:18;color:white;x:50;y:160")
- }
- if(/.(mpg|wmv|avi)+$/i.test(url)){
- lrc.arr=null
- oo("bxEmvScreen").innerHTML="<div style=width:100%;height:100%;background:black></div>"
- oo("mplayer").show=1
- oo("mplayer").ShowControls=0
- oo("mplayer").ClickToPlay=0
- oo("mplayer").EnableContextMenu=0
- oo("mplayer").FileName=url
- }
- }
- emv.close=function(){
- oo("bxEmv").style.display="none"
- oo("mplayer").FileName=""
- }
- emv.pause=function(){
- oo("mplayer").Pause()
- }
- emv.dragOk=function(){
- oo("bxEmv").clientY=oo("bxEmv").offsetTop-document.body.scrollTop
- }
- emv.clickList=function(){
- var bx=oo("bxEmvList")
- bx.style.display=bx.style.display=="none"?"":"none"
- }
- emv.moveto=function(){
- if(dragObj!=null)
- return
- var dy=5,n=oo("bxEmv").offsetTop-document.body.scrollTop-oo("bxEmv").clientY
- if(n>dy)
- oo("bxEmv").style.top=oo("bxEmv").offsetTop-dy
- else if(n<-dy)
- oo("bxEmv").style.top=oo("bxEmv").offsetTop+dy
- else if(n!=0)
- oo("bxEmv").style.top=document.body.scrollTop+oo("bxEmv").clientY*1
- }
- emv.movePos=function(){
- var duration,mPos
- if(oo("mplayer").playState!=2)
- oHide("btEmvPause")
- else
- oShow("btEmvPause")
- if(oo("mplayer").CurrentPosition<=0){
- oo("btEmvPos").style.left=25
- oo("barEmvPos").style.width=oo("btEmvPos").offsetLeft-20
- return
- }
- duration=oo("mplayer").Duration
- mPos=oo("mplayer").CurrentPosition
- if(dragObj!=oo("btEmvPos")){
- oo("btEmvPos").style.left=(mPos/duration)*528+25
- oo("barEmvPos").style.width=oo("btEmvPos").offsetLeft-20
- }
- }
- emv.dragVolume=function(){
- var x
- x=oo("btEmvVolume").offsetLeft-92
- if(x!=oo("barEmvVolume").offsetWidth){
- oo("barEmvVolume").style.width=x
- mplayer.Volume=-Math.pow(1-x/62,2)*3050
- }
- }
- emv.dragPos=function(){
- var x
- x=oo("btEmvPos").offsetLeft-20
- if(x!=oo("barEmvPos").offsetWidth){
- oo("barEmvPos").style.width=x
- }
- }
- emv.dragPosOk=function(){
- oDel("bxCaption_l")
- oDel("bxCaption_l_cover")
- oDel("bxCaption_r")
- oDel("bxCaption_r_cover")
- oo("mplayer").CurrentPosition=oo("mplayer").Duration*oo("barEmvPos").offsetWidth/528
- }
- emv.playLrc=function(){
- var mPos=oo("mplayer").CurrentPosition
- var n,o,len,per,n0,n1,s
- if(mPos<=0||lrc.arr==null)
- return
- n=-1
- for(i=0;i<lrc.arr.length;i++){
- if(mPos<lrc.arr[i].slice(0,"|")*1)
- break
- n=i
- }
- if(n==-1)
- return
- if(lrc.i!=n){
- if(n==0){
- oHide("bxLrc_brief")
- lrc.write(lrc.arr[n].slice("|"),"l")
- }
- if(n!=lrc.i+1)
- lrc.write(lrc.arr[n].slice("|"),n%2==0?"l":"r")
- if(n<lrc.arr.length-1)
- lrc.write(lrc.arr[n+1].slice("|"),n%2==1?"l":"r")
- lrc.i=n
- bg=lrc.arr[n].replace(/<|>/g,";").get("bg")
- if(bg!=""){
- a="Blinds;Fade;GradientWipe;Pixelate(maxSquare=10);RandomBars;RandomDissolve".split(";")
- oo("bxLrc").style.filter="progid:DXImageTransform.Microsoft."+a[parseInt(Math.random()*a.length)]
- oo("bxLrc").filters[0].apply()
- lrc.cbg.style.zIndex=0
- lrc.cbg=oo("bxLrc_"+bg)
- lrc.cbg.style.zIndex=1
- oo("bxLrc").filters[0].play()
- }
- }
- n0=lrc.arr[n].slice(0,"|")
- n1=lrc.arr.length>n+1?lrc.arr[n+1].slice(0,"|"):n0*1+5
- o=oo("bxCaption_"+(n%2==0?"l":"r")+"_cover")
- len=o.time!=""?o.time*1:n1-n0
- per=(mPos-n0)/len
- for(i=0.01;i<1;i+=0.01){
- per1=lrc.getRealPos(o,i)
- if(per1>=per)
- break
- }
- o.style.width=o.width*i
- }
- emv.getWord=function(str,style){
- var l
- if(style==null)
- style=""
- l="<v:curve to=800,1 fillcolor="+style.get("color","black")+" strokecolor="+style.get("color","black")+" strokeweight="+style.get("border",1)
- l+=" style=position:absolute;left:"+style.get("x",0)+";top:"+style.get("y",0)+">"
- l+="<v:path textpathok=t /><v:textpath on=t string='"+str+"' style='font-family:"+style.get("face","楷体_gb2312")+";font-size:"+style.get("size",26)+";v-text-align:left' /></v:curve>"
- return l
- }
- emv.showPlayer=function(){
- var v
- v=oo("mplayer").show==1?"":"none"
- if(oo("bxEmvList").style.display=="")
- v="none"
- if(oo("mplayer").style.display!=v)
- oo("mplayer").style.display=v
- }
- emv.time=function(){
- if(!isIE||oo("mplayer")==null||oo("bxEmv").style.display=="none")
- return
- emv.showPlayer()
- emv.moveto()
- emv.movePos()
- lrc.loadPic()
- emv.playLrc()
- }
- timer.add("emv.time()")
- }
- function lrc_ini(){
- window.lrc={}
- lrc.wordPer=function(str,pos){
- return str.slice(0,pos).replace(/[^x00-xff]/g," ").length/str.replace(/[^x00-xff]/g," ").length
- }
- lrc.get=function(key,def){
- var a=new RegExp("\["+key+"\:(.+)\]","g").exec(lrc.data)
- return a==null?(def==null?"":def):a[1]
- }
- lrc.sortFoo=function(v1,v2){
- var s1=v1.split("|")[0],s2=v2.split("|")[0]
- if(!isNaN(s1)&&!isNaN(s2)){
- s1*=1
- s2*=1
- }
- return (s1==s2?0:(s1>s2?1:-1))
- }
- lrc.loadPic=function(){
- var bx=oo("bxLrc"),ol,i,n,l,y
- if(bx==null)
- return
- if(bx.load!=1)
- return
- ol=bx.childNodes
- n=0
- for(i=0;i<ol.length;i++){
- if(ol[i].readyState=="complete")
- n++
- }
- if(lrc.loadPic_i!=n)
- oo("bxLrc_load").innerHTML=emv.getWord("正在载入歌曲图片:"+(parseInt(n*100/ol.length))+"%","size:18;color:white")
- lrc.loadPic_i=n
- if(n==ol.length){
- oHide("bxLrc_load")
- oo("mplayer").FileName=lrc.get("url")
- oo("mplayer").Play()
- oShow(bx)
- bx.load=0
- l="<div id=bxLrc_brief style=position:absolute;left:30;top:160>"
- l+=emv.getWord(lrc.get("ti"),"color:black;border:3")+emv.getWord(lrc.get("ti"),"color:white")
- y=40
- s=lrc.get("al")
- if(s!=""){
- l+=emv.getWord("专辑:"+s,"y:"+y+";size:18;color:black;border:3")+emv.getWord("专辑:"+s,"y:"+y+";size:18;color:white")
- y+=25
- }
- s=lrc.get("ar")
- if(s!=""){
- l+=emv.getWord("演唱:"+s,"y:"+y+";size:18;color:black;border:3")+emv.getWord("演唱:"+s,"y:"+y+";size:18;color:white")
- y+=25
- }
- s=lrc.get("by")
- if(s!=""){
- l+=emv.getWord("制作:"+s,"y:"+y+";size:18;color:black;border:3")+emv.getWord("制作:"+s,"y:"+y+";size:18;color:white")
- y+=25
- }
- l+="</div>"
- insHtm("bxEmvScreen",l)
- }
- }
- lrc.setData=function(str){
- var tb=oo("bxEmvListTb")
- var l,a,i,ad,n,j,sBg
- if(str==null)
- str=tb.rows[tb.index].data
- else
- tb.rows[tb.index].data=str
- lrc.data=str
- if(lrc.get("url")==""){
- lrc.data=null
- oo("bxEmvScreen").innerHTML=emv.getWord("《"+tb.rows[tb.index].name+"》 歌词文件中没有指定歌曲url,请加入此项设定。","size:18;color:white;x:50;y:160")
- oo("mplayer").FileName=""
- return
- }
- str=str.replace(/|/g,"").replace(/rn/g,"n")
- str=str.replace(/[(dd):((d|.)+)]/g,function($0,$1,$2){return ($1*60+$2*1)+"|"})
- a=str.split("n")
- lrc.arr=new Array()
- lrc.color=lrc.get("color","blue")
- lrc.folder=lrc.get("folder")
- l="<div id=bxLrc load=1 style=position:absolute;left:0;top:0;width:560;height:360;display:nonex>"
- l+="<img id=bxLrc_bg src='"+lrc.folder+lrc.get("bg")+"' style=position:absolute;z-index:1>"
- for(i=0;i<a.length;i++){
- ad=a[i].split("|")
- s=ad[ad.length-1]
- sBg=s.replace(/<|>/,";").get("bg")
- if(sBg!=""&&l.indexOf("bxLrc_"+sBg)==-1){
- l+="<img id='bxLrc_"+sBg+"' src='"+lrc.folder+sBg+"' style=position:absolute>"
- }
- for(j=1;j<ad.length;j++){
- lrc.arr.add(ad[j-1]+"|"+s)
- }
- }
- l+="</div>"
- l+="<div id=bxLrc_load style=position:absolute;left:50;top:160>"+emv.getWord("正在载入图片:0%","size:18;color:white")+"</div>"
- lrc.i=-1
- lrc.arr.sort(lrc.sortFoo)
- oo("bxEmvScreen").innerHTML=l
- lrc.cbg=oo("bxLrc_bg")
- }
- lrc.getRealPos=function(obj,pos){
- var a=obj.path,zoom=obj.zoom,pos1=pos*zoom
- var a,i,ad
- for(i=0;i<a.length;i++){
- ad=a[i]
- if(pos<=ad[0])
- continue
- if(pos>ad[0]&&pos<=ad[1])
- pos1+=(zoom*ad[2]-zoom)*(pos-ad[0])
- else
- pos1+=(zoom*ad[2]-zoom)*(ad[1]-ad[0])
- }
- return pos1
- }
- lrc.write=function(str,pos){
- var word=str,style="",color=lrc.color
- var x,y,l,w,w1,o,a,i,ad,bg
- if(/^<.+>/.test(str)){
- word=str.slice(">")
- style=str.slice(1).slice(0,">")
- color=style.get("color",lrc.color)
- }
- w=word.replace(/[^x00-xff]/g," ").length*13+2
- if(pos=="l"){
- x=40
- y=285
- }
- else{
- x=520-w
- y=315
- }
- l="<div id=bxCaption_"+pos+" style='position:absolute;left:"+x+";top:"+y+";width:"+w+";height:32;overflow:hidden'>"
- l+=emv.getWord(word,"border:3;y:14;")+emv.getWord(word,"color:white;y:14")
- l+="</div>"
- l+="<div id=bxCaption_"+pos+"_cover width="+w+" style=position:absolute;left:"+x+";top:"+y+";width:0;height:32;overflow:hidden>"
- l+=emv.getWord(word,"color:white;border:3;y:14")+emv.getWord(word,"color:"+color+";y:14")
- l+="</div>"
- oDel("bxCaption_"+pos)
- oDel("bxCaption_"+pos+"_cover")
- insHtm("bxEmvScreen",l)
- o=oo("bxCaption_"+pos+"_cover")
- o.time=style.get("time")
- o.path=new Array()
- len1=1
- a=style.split(";")
- for(i=0;i<a.length;i++){
- if(!/(d+):(d+)/.test(a[i]))
- continue
- if(/(d+)-(d+):(d+)/.test(a[i])){
- ad=/(d+)-(d+):(d+)/.exec(a[i])
- ad[0]=lrc.wordPer(word,ad[1]-1)
- ad[1]=lrc.wordPer(word,ad[2]*1)
- ad[2]=ad[3]
- }
- else{
- ad=/(d+):(.+)/.exec(a[i])
- ad[0]=lrc.wordPer(word,ad[1]-1)
- ad[1]=lrc.wordPer(word,ad[1]*1)
- }
- len1+=(ad[1]-ad[0])*(ad[2]-1)
- o.path.add(ad)
- }
- o.zoom=1/len1
- }
- }