当前位置:编程学习 > JS >>

Baidu Musicbox 用到的ajax代码

答案:var names;
var Cs, St;
var rorw="";
var lrcT;

function getname(songname){
if(songname==""){
names=$("name").value;
}else{
names=songname;
}
geturl();
}
function geturl(){
AJAXCALL("inc/songurl.asp?type=url1&keyword="+names,"musiclist","isXML=true");
addbox(names);
}
function top(){
AJAXCALL("inc/songlist.asp?ac=new","toplist","isXML=true");
}
function toplist(doc){
var items=getElementsByClass(doc,"item");
var linker=new Array();
var linkers=new Array();
var tmp="<ul>";
for(var i=0;i<items.length;i++){
if(getTagValue(items[i], "singer")=="")
{
linker[i]="";
linkers[i]="";
}
else
{
linker[i]="("+getTagValue(items[i], 'singer').replace(/ /g," ")+")";
linkers[i]=" "+getTagValue(items[i], 'singer').replace(/ /g," ");
}
var d=i+1;
tmp+='<li>'+d+'. <a href=> }
tmp+="</ul>";
$("toplist").innerHTML=tmp;
}
function s2(){
AJAXCALL("inc/songlist.asp?ac=all","s3","isXML=true");
}
function s3(doc){
var items=getElementsByClass(doc,"item");
var linker=new Array();
var linkers=new Array();
var tmp="<ul>";
for(var i=0;i<items.length;i++){
if(getTagValue(items[i], "singer")=="")
{
linker[i]="";
linkers[i]="";
}
else
{
linker[i]="("+getTagValue(items[i], 'singer').replace(/ /g," ")+")";
linkers[i]=" "+getTagValue(items[i], 'singer').replace(/ /g," ");
}
var d=i+1;
tmp+='<li>'+d+'. <a href=> }
tmp+="</ul>";
$("topalllist").innerHTML=tmp;
}
function musiclist(doc){
var items=getElementsByClass(doc,"item");
var tmp="<ul>";
for(var i=0;i<22 && i<items.length;i++){
var d=i+1;
type=getTagValue(items[i], 'type');
tmp+='<li> <img src="img/list.gif" /> <a title="试听点 '+d+' ('+type+')" href=> }
tmp+="</ul>";
$("list").innerHTML=tmp;
$("msg").style.display="none";
play(getTagValue(items[0], "type"),getTagValue(items[0], "link"));
}
function play(obj,url){
initLrc();
$("guanxin").style.display="none";
$("msg").style.display="block";
AJAXCALL("inc/songurl.asp?type=url2&keyword="+url+"&attach="+obj,"gotoplay","isXML=true");
AJAXCALL("inc/lyrics.asp?song="+names,"getlrc","isXML=true");
}
var tl;
function getlrc(doc){
tl="";
var items=getElementsByClass(doc,"item");
var tmp="<div id=LrcDiv class=LrcDiv>";
for(var i=0;i<items.length;i++){
tmp+='<div class=div id=T_'+getTagValue(items[i], 'time')+' onclick=To(\''+getTagValue(items[i], 'time')+'\')>'+getTagValue(items[i], 'lrc')+'</div>';
tl+=getTagValue(items[i], 'time')+"|";
}
tmp+="</div>";
$("lrc").innerHTML=tmp;
}

function gotoplay(docs){
var type=getTagValue(docs, "type");
var link=getTagValue(docs, "link");
if(type=="rm" || type=="ra" || type=="ram" || type=="rmvb" || type=="mpga" || type=="mp4" || type=="3gp")
$("players").innerHTML=realplayer(link);
else
$("players").innerHTML=mdplayer(link);
var link3=cuturl(link);
$("msg").style.display="none";
$("wmaurl").innerHTML="歌曲出处: <a href=> setTimeout(guanxin,1000);
playobj();
}

function initLrc(){
clearTimeout(lrcT);
rorw="";
$("players").innerHTML="";
$("lrc").innerHTML="";
St=0;
Cs=0;
}

function playobj(){
if($("MPlayer"))
{
rorw="wmp";
ldL();
}
else if($("RPlayer"))
{
rorw="rmp";
try { RPlayer.SetWantErrors(true); } catch(hh){}
ldL();
}
else
playobj();
}

function guanxin(){
$("guanxin").style.display="block";
setTimeout(guanxin2,10000);
}
function guanxin2(){
$("guanxin").style.display="none";
}

var player;
function mdplayer(str){
player='<object classid="clsid:6bf52a52-394a-11d3-b153-00c04f79faa6" id="MPlayer" width="100%" height="64"><param name="url" value="'+str+'"><param name="enablecontextmenu" value="0"><param name="enableerrordialogs" value="0"></object>';
return player;
}

function realplayer(str){
player='<object classid="clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa" id="RPlayer" width="100%" height="60"><param name="src" value="'+str+'"><param name="controls" value="controlpanel,statusbar"><param name="autostart" value="true"></object>';
return player;
}

function cuturl(song_url){
var len=getStrActualLen(song_url);
var MAX_DISP_LEN=40;
if(len<=MAX_DISP_LEN) return song_url;
var disp_song_url=song_url;
var pos1=song_url.indexOf("://");
if(pos1>0){
disp_song_url=song_url.substring(pos1+3,len);
var pos2=disp_song_url.indexOf("/");
if(pos2>0) disp_song_url=song_url.substring(0,pos1+pos2+4);
var len2=MAX_DISP_LEN-3-getStrActualLen(disp_song_url);
if(len2>0) disp_song_url=disp_song_url+'...'+song_url.substring(len-len2,len);
return disp_song_url;
}
}

function getStrActualLen(sChars){
return sChars.replace(/[^\x00-\xff]/g,"xx").length;
}

function AJAXCALL(url,handleResponse,param){
var isXML=false;//false:html or true:xml
var isCache=false;//false:no-cache or true:cache
var method="GET";//GET or POST
var attach="";
if(param){
re = / /g;
param=param.replace(re, "");
var tmp=param.split(",");
for(var i=0;i<tmp.length;i++){
var pa=tmp[i].substr(0,3);
var ct=tmp[i].split("=")[1];
switch (pa){
case "isX":
if(ct=="true"){
isXML= true;
}else{
isXML= false;
}
break;
case "isC":
if(ct=="true"){
isCache= true;
}else{
isCache= false;
}
break;
case "met": <

上一个:用ajax动态加载需要的js文件
下一个:也写一个Ajax.Request类附代码

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,