본문 바로가기
웹프로그램

[자바스크립트] 뉴스 속보 한줄로 타자치듯이 보여주는 기능!

by 세이박스 2009. 3. 5.
반응형

<style>
body,table,td
{
 font-size:12px;
 font-family:굴림;
}
select,input,textarea
{
 font-size:12px;
 font-family:돋움;
}
img
{
 border : 0;
}
a:link { color:#333333; text-decoration: none;}
a:visited { color:#333333; text-decoration: none;}
a:hover { color: #3366cc; text-decoration: underline; }
a:active { color: #333333; text-decoration: none;}

.Stitle
{
 font-family:돋움;
 color:white;
 font-weight:bold;
 font-size:14px;
 cursor:pointer;
 text-decoration:none;
}
</style>
<script language="javascript">
var i_mes=0;
var message=new Array();
var messagelink=new Array();
var linktarget=new Array();
var fnt=new Array();
var fntsize=new Array();
var fntcolor=new Array();
var fntcolorlastletter=new Array();

message[i_mes]="‘꿈의직업’ 50인 후보 맹지나, 김범 사촌누나로 밝혀져 ‘화제’";
messagelink[i_mes]="http://www.gooddaysports.co.kr/news/?bset=view&cset=star&tot_code=49&code=5592";
linktarget[i_mes]="_self"
fnt[i_mes]="돋음"
fntsize[i_mes]="11px"
fntcolor[i_mes]="#404040";
fntcolorlastletter[i_mes]="#404040";
i_mes++;
message[i_mes]="박지성 역전골 어시스트로 팀 승리 ‘견인’";
messagelink[i_mes]="http://www.gooddaysports.co.kr/news/?bset=view&cset=sports&tot_code=514&code=3066";
linktarget[i_mes]="_self"
fnt[i_mes]="돋음"
fntsize[i_mes]="11px"
fntcolor[i_mes]="#404040";
fntcolorlastletter[i_mes]="#404040";
i_mes++;
message[i_mes]="김범사촌누나 맹지나 ‘꿈의직업’ 후보 50인에 선정!";
messagelink[i_mes]="http://www.gooddaysports.co.kr/news/?bset=view&cset=star&tot_code=47&code=3977";
linktarget[i_mes]="_self"
fnt[i_mes]="돋음"
fntsize[i_mes]="11px"
fntcolor[i_mes]="#404040";
fntcolorlastletter[i_mes]="#404040";
i_mes++;

var standstill=3000; // 타이핑을 완료한 후 글자가 보여지는 시간 (2000 = 2초)
var tickerwidth=500; // 타이핑 되는 부분의 가로크기
var tickerheight=11; // 타이핑 되는 부분의 세로크기
var speed=20; // 타이핑 되는 속도 - 낮을수록 빠르다
var speed_1st=10; // 타이핑 되는 속도 - 낮을수록 빠르다

var i_substring=0;
var i_presubstring=0;
var i_message=0;
var messagecontent="";
var messagebackground="";
var messagepresubstring="";
var messageaftersubstring="";

function initiateticker() {
 if (document.all) {
  donganews();
 }
 if (document.layers) {
  donganews();
 }
}

var win= null;
function NewWindow(mypage,myname,w,h,scroll){
 var winl = (screen.width-w)/2;
 var wint = (screen.height-h)/2;
 var settings ='height='+h+',';
 settings +='width='+w+',';
 settings +='top='+wint+',';
 settings +='left='+winl+',';
 settings +='scrollbars='+scroll+',';
 settings +='resizable=yes';
 win=window.open(mypage,myname,settings);
 if(parseInt(navigator.appVersion) >= 4){win.window.focus();}
}


function getmessagecontent() {
 messagepresubstring=message[i_message].substring(0,i_presubstring);
 messageaftersubstring=message[i_message].substring(i_presubstring,i_substring);
 messagecontent="<table border=0 cellpadding=0 width="+tickerwidth+" height="+tickerheight+"><tr valign=top><td>";
 messagecontent+="<span style='position:relative; font-family:"+fnt[i_message]+";color:"+fntcolor[i_message]+";font-size:"+fntsize[i_message]+"pt;'>";
 messagecontent+="<a href='"+messagelink[i_message]+"' target='"+linktarget[i_message]+"'>";
 messagecontent+="<font color='"+fntcolor[i_message]+"'>";
 messagecontent+=messagepresubstring;
 messagecontent+="</font>";
 messagecontent+="</a>";
 messagecontent+="</span>";
 messagecontent+="<span style='position:relative; font-family:"+fnt[i_message]+";color:"+fntcolorlastletter[i_message]+";font-size:"+fntsize[i_message]+"pt'>";
 messagecontent+="<a href='"+messagelink[i_message]+"'  onclick='NewWindow(this.href,name,850,570,yes);return false'>";
 messagecontent+="<font color='"+fntcolorlastletter[i_message]+"'>";
 messagecontent+=messageaftersubstring;
 messagecontent+="</font>";
 messagecontent+="</a>";
 messagecontent+="</span>";
 messagecontent+="</td></tr></table>";
}

function donganews() {
 if (i_substring<=message[i_message].length-1) {
  i_substring++
  i_presubstring=i_substring-1
  if (i_presubstring<0) {i_presubstring00}
  getmessagecontent()
  if (document.all) {
   ticker.innerHTML=messagecontent
   if(i_substring == 1) var timer=setTimeout("donganews()", speed_1st)
   else var timer=setTimeout("donganews()", speed)
  }
  if (document.layers) {
   document.tickerroof.document.ticker.document.write(messagecontent)
   document.tickerroof.document.ticker.document.close()
   var timer=setTimeout("donganews()", speed)
  }
 } else {
  clearTimeout(timer)
  var timer=setTimeout("changemessage()", standstill)
 }
}

function changemessage() {
 i_substring=0
 i_presubstring=0
 i_message++
 if(i_message>message.length-1) {
  i_message=0
 }
 donganews()
}


if (document.all) {
 document.write('<span ID="tickerroof" style="position:relative;width:'+tickerwidth+'px;height:'+tickerheight+'px;">');
 document.write('<span ID="ticker" style="position:absolute;top:0px;left0px"></span>');
 document.write('</span>');
}
if (document.layers) {
 document.write('<ilayer name="tickerroof" height="'+tickerheight+'" width="'+tickerwidth+'">');
 document.write('<layer name="ticker" top=0 left=0"></layer>');
 document.write('</ilayer>');
 document.close();
}

window.onload=initiateticker;
window.onresize=initiateticker;
</script>

반응형