Esta função adiona até dois efeitos na barra de status. Totalmente confíguravel.
var animar_status_vars=new Object();
animar_status_vars['local_index']=0; //esta variavel precisa ser definida fora da função
animar_status_vars['mensagem_index']=0;
function animar_status(){
///////////////////////////////////////////////////////////////////////////////////////////
// CHAME ESTA FUNÇÃO APENAS UMA VEZ //// NOTA //
///////////////////////////////////////////////////////////////////////////////////////////
// você pode chama-la adicionando //// IMPOSSÍVEL DE MUDAR A BARRA DE STATUS NO //
// onload="animar_status();" dentro //// FIREFOX QUANDO O JAVASCRIPT NÃO ESTÁ AUTORIZADO //
// da tag <body> no seu documento //// //
///////////////////////////////////////////////////////////////////////////////////////////
// função criada e distribuida gratúitamente por http://www.thesims2br.com/ //
// use avontade mas não remova os créditos //
///////////////////////////////////////////////////////////////////////////////////////////
var mensagem="Mensagem"; //mensagem que aparecerá na barra de status
var align="right"; //alinhamento da barra de status (string: left|center|right)
var intervalo=5; //intervalo da animação, quanto menos mais rapido (100 = 1 segundo) (int)
//animação do status
var anima_status=true; //liga a animação na barra de status (boolean: true|false)
var map=10; //número de caractéres envolvido no efeito em cada lado (int: 0 a variavel)
var none_char="-"; //caractére stático (string: 1 caractére)
var right_char=">"; //caractére ativo que inicia na direita (string: 1 caractére)
var left_char="<"; //caractére ativo que inicia na esquerda (string: 1 caractére)
var wall_char="|"; //caractére que faz o caractére ativo quicar (string: 1 caractére)
var add_space=true; //adiciona espaço na direita e na esquerda da mensagem (boolean: true|false)
//animação da mensagem
var anima_mensagem=false; //liga a animação na mensagem (boolean: true|false)
var animacao_mensagem='auto'; //tipo da animação na mensagem (string: auto|up|down)
////////////////////////////////
// NÃO ALTERE O CÓDIGO ABAIXO //
////////////////////////////////
function parseint(n){
//função privada apenas para debug
n=n.toString();
n=n.split(".");
if(n[1]) n[0]=parseInt(n[0])+1;
n=n[0];
return n;
}
var status="";
var statusT="";
var mensagemT="";
var mensagem_back=false;
var i=0;
var local_index=animar_status_vars.local_index;
var mensagem_index=animar_status_vars.mensagem_index;
if(anima_mensagem){
if(mensagem_index<0){
mensagem_back=true;
mensagem_index=mensagem_index*(-1);
}
mensagemT=mensagem.substring(0,mensagem_index);
if(!animacao_mensagem||animacao_mensagem=='auto'){
if(mensagem.substring(mensagem_index,mensagem_index+1).toLowerCase()==mensagem.substring(mensagem_index,mensagem_index+1)){
mensagemT+=mensagem.substring(mensagem_index,mensagem_index+1).toUpperCase();
}
else{
mensagemT+=mensagem.substring(mensagem_index,mensagem_index+1).toLowerCase();
}
}
else if(animacao_mensagem=='up') mensagemT+=mensagem.substring(mensagem_index,mensagem_index+1).toUpperCase();
else mensagemT+=mensagem.substring(mensagem_index,mensagem_index+1).toLowerCase();
mensagemT+=mensagem.substring(mensagem_index+1);
mensagem=mensagemT;
if(mensagem_index>=mensagem.length-1||mensagem_back){
mensagem_index=(mensagem_index*(-1))+1;
}
else mensagem_index++;
}
if(anima_status){
mensagem=wall_char+(add_space?" ":'')+mensagem+(add_space?" ":'')+wall_char;
for(i=1;i<=map;i++) status+=none_char;
status+=mensagem;
for(i=1;i<=map;i++) status+=none_char;
if(local_index<map){
statusT=status.substring(0,local_index)+right_char+status.substring(local_index+1,status.length-map);
statusT+=status.substring(status.length-map,status.length-map+(map-local_index-1))+left_char+status.substring(status.length-map+(map-local_index));
}
else{
statusT=status.substring(0,map*2-local_index-1)+left_char+status.substring(map*2-local_index,status.length-map);
statusT+=status.substring(status.length-map,status.length-map+(local_index-map))+right_char+status.substring(status.length-map+(local_index-map+1));
}
statusT=wall_char+statusT+wall_char;
}
else{
statusT=mensagem;
}
if(statusT.length>127){
alert("Status muito grande\n\nA barra de status não pode ter mais de 127 bytes. Diminua "+(statusT.length-127)+" caractére"+(statusT.length-127>1?'s':'')+" da mensagem ou mude o map para "+(map-parseint((statusT.length-127)/2))+".");
return;
}
if(align=='right') while(statusT.length<127) statusT=" "+statusT;
else if(align=='center') while(statusT.length<127) statusT=" "+statusT+" ";
window.defaultStatus=statusT;
if(local_index>=map*2-1) local_index=0;
else local_index++;
animar_status_vars.local_index=local_index;
animar_status_vars.mensagem_index=mensagem_index;
setTimeout("animar_status()",intervalo*10);
}
Pergunta
jose.rob.jr
Esta função adiona até dois efeitos na barra de status. Totalmente confíguravel.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.