본문 바로가기

javascript

뉴스 전광판과 같은 효과

<!--1. 아래 스크립트를 HEAD 부분에 복사해 넣으세요. 없으면 그냥 두세요-->

<style>
A {
        text-decoration:none;
}
.s {
        position:absolute;
    left:-5000px;
        topt:-5000px;
}
</style>

</HEAD>

<!--2. BODY 태그내에 onload="" 혹은 onunload 부분이 있으면 복사해 넣으세요-->

<BODY BGCOLOR="#FFFFFF">

<!--3. BODY 부분에 아래의 스크립트를 복사해 넣으세요-->


<script>
<!-- Beginning of JavaScript -


var message = new Array()
message[0]="안녕하세요? 반갑습니다"
message[1]="언제라도 놀러오세요"
message[2]="오전이나 오후 늦게는 한가합니다"
message[3]="자주 자주 오세요"

// 메세지 링크
var messageurl = new Array()
messageurl[0]="http://www.bizserver.new21.net"
messageurl[1]="http://www.bizserver.new21.net"
messageurl[2]="http://www.bizserver.new21.net"
messageurl[3]="#"

// 메세지의 타겟
var target_url="_blank"
        
// 스크롤러의 가로
var textwidth=240

// 스크롤러의 높이
var textheight=100

// 테두리 두께
var borderwidth=2

// 폰트 사이즈
var font_size=5

// 글꼴
var font_face="굴림"

// 스크롤러의 왼쪽여백
var horizontal_pos=10

// 스크롤러의 위쪽여백
var vertical_pos=10

// 컨튼 숫자
var x_slices=12

// 색상
var color1="red"
var color2="yellow"

// 메세지간 지연시간
var pause=2

// - End of JavaScript - -->
</script>

<script >
var i_loop=0
var i_message=0
var width_slice=Math.ceil(textwidth/x_slices)
var cliptop=0
var clipbottom=textheight
var i_clipright=1
var content=""
var bg_ticker=new Array(color1,color2)
var font_color=new Array(color2,color1)
var i_color=0
pause=pause*1000

function initiate() {
        getcontent()
    if (document.all) {
            for (i=0;i<=x_slices;i++) {
            var thisinners=eval("s"+i)
            thisinners.innerHTML=content
            var thiss=eval("document.all.s"+i+".style")
            thiss.posLeft=horizontal_pos
            thiss.posTop=vertical_pos
        }
                
                document.all.whole.style.posLeft=horizontal_pos
                document.all.whole.style.posTop=vertical_pos
            i_message++
            openlamellar()
    }
        if (document.layers) {
            for (i=0;i<=x_slices;i++) {
            var thisinners=eval("document.s"+i+".document")
            thisinners.write(content)
                        thisinners.close()
            var thiss=eval("document.s"+i)
            thiss.left=horizontal_pos
            thiss.top=vertical_pos
        }
                document.whole.document.write(" ")
                document.whole.document.close()
                document.whole.left=horizontal_pos
                document.whole.top=vertical_pos
            i_message++
            openlamellarNN()
    }
}

function openlamellar() {
        clipleft=-width_slice
        clipright=0
    if (i_clipright<=width_slice) {
        for (i=0;i<=x_slices;i++) {
            var thiss=eval("document.all.s"+i+".style")
            thiss.clip ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")"
            clipleft+=width_slice
            clipright=clipleft+i_clipright
                }
    i_clipright++
    var timer=setTimeout("openlamellar()",20)
           }
           else {
                clearTimeout(timer)
                whole.innerHTML=content
                var timer=setTimeout("changemessage()",pause)
        }
}

function openlamellarNN() {
        clipleft=-width_slice
        clipright=0
    if (i_clipright<=width_slice) {
        for (i=0;i<=x_slices;i++) {
            var thiss=eval("document.s"+i)
                        thiss.clip.left=clipleft
                thiss.clip.right=clipright
                thiss.clip.top=cliptop
                thiss.clip.bottom=clipbottom
            clipleft+=width_slice
            clipright=clipleft+i_clipright
                }
    i_clipright++
    var timer=setTimeout("openlamellarNN()",20)
   }
           else {
                clearTimeout(timer)
                document.whole.document.write(content)
                document.whole.document.close()
                var timer=setTimeout("changemessageNN()",2000)
        }
}


function getcontent() {
    content="<table border="+borderwidth+" cellpadding='3' width="+textwidth+" height="+textheight+">"
    content+="<tr><td bgcolor="+bg_ticker[i_color]+" align='center'>"
    content+="<a href="+messageurl[i_message]+" target="+target_url+">"
    content+="<font face="+font_face+" size="+font_size+" color="+font_color[i_color]+">"
    content+=message[i_message]
    content+="</font></a></td></tr></table>"
}

function changemessage() {
        i_color++
        if (i_color>1) {i_color=0}
        i_clipright=0
        clipleft=0
        clipright=0
        for (i=0;i<=x_slices;i++) {
               var thiss=eval("document.all.s"+i+".style")
            thiss.clip ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")"
        }
        if (i_message>message.length-1) {i_message=0}
        getcontent()

        for (i=0;i<=x_slices;i++) {
        var thisinners=eval("s"+i)
        thisinners.innerHTML=content  
    }
        i_message++
        openlamellar()
}

function changemessageNN() {
        i_color++
        if (i_color>1) {i_color=0}
        i_clipright=0
        clipleft=0
        clipright=0
        for (i=0;i<=x_slices;i++) {
            var thiss=eval("document.s"+i)
                        thiss.clip.left=clipleft
                thiss.clip.right=clipright
                thiss.clip.top=cliptop
                thiss.clip.bottom=clipbottom
            clipleft+=width_slice
            clipright=clipleft+i_clipright
        }
        if (i_message>message.length-1) {i_message=0}
        getcontent()
        for (i=0;i<=x_slices;i++) {
        var thisinners=eval("document.s"+i+".document")
        thisinners.write(content)
                thisinners.close()
    }
        i_message++
        openlamellarNN()
}

document.write("<span id='whole' class='s'></span>")
for (i=0;i<=x_slices;i++) {
        document.write("<span id='s"+i+"' class='s'></span>")
}
document.close()
window.onload=initiate
</script>