롤링 스크립트
페이지 정보
작성자 서방님 댓글 0건 조회 244회 작성일 12-06-01 16:39본문
대게 실시간 검색어를 표시하는 용도로 쓰이는 롤링 스크립트이다.
DIV 블럭으로 쌓은 UL 태그로 마크업을 작성한 후에 script 를 호출하면, 한줄로 롤링되는 전광판 형태로 구현이 가능하다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
.rolling_list_area { position:relative; overflow:hidden; }
.rolling_list_area ul, .rolling_list_area ol { position:absolute; padding:0; margin:0; }
</style>
<script type="text/javascript">
// <![CDATA[
/**
*
* RollingList by byuli
*
* Parameters
* id : dome Element ID, tagType : ul & ol 태그 명시, liHeight : 텍스트의 높이,
* gabSpeed : 정지해 있는 시간, rollSpeed : 롤링되는 시간, startspeed : 롤링이 시작되는 시간.
*
*/
var RollingList = function (id, tagType, liHeight, gabSpeed, rollSpeed, startspeed)
{
var listObj = document.getElementById(id);
var nowCnt = 0;
var movingCnt = 0;
var maxCnt = 10;
this.init = function ()
{
try
{
listObj.className = "rolling_list_area";
}catch (e)
{
alert("'" + id + "' is not elements");
return;
}
listObj.style.height = liHeight + "px";
var t = setTimeout(listObj.id + ".seting()", startspeed);
}
this.seting = function ()
{
var ulObj = listObj.getElementsByTagName(tagType)[0];
var liObj = ulObj.getElementsByTagName("LI");
maxCnt = liObj.length;
ulObj.insertBefore(liObj[0].cloneNode(true), liObj[maxCnt-1].nextSibling);
if(maxCnt>0)
{
this.show();
}
}
this.show = function ()
{
if (maxCnt == nowCnt )
{
nowCnt = 0;
movingCnt = 0;
listObj.getElementsByTagName(tagType)[0].style.top = "0px";
}
nowCnt++;
var t = setTimeout(listObj.id + ".motion()", gabSpeed);
}
this.motion = function ()
{
movingCnt = movingCnt + 4;
if (movingCnt > (liHeight * nowCnt))
{
movingCnt = liHeight * nowCnt;
this.show();
}else
{
listObj.getElementsByTagName(tagType)[0].style.top= "-" + movingCnt + "px";
var t = setTimeout(listObj.id + ".motion()", rollSpeed);
}
}
}
// ]]>
</script>
</head>
<body>
<h1>
RollingList Script 사용 예제
</h1>
<h4>
ul 태그, 느리게
</h4>
<h5>
비적용
</h5>
<div>
<ul>
<li> 아자 테스트 해보자 </li>
<li> 뭐니 이건 뭐 뭐야 </li>
</ul>
</div>
<h5>
적용
</h5>
<div id="RollingTest">
<ul>
<li> 아자 테스트 해보자 </li>
<li> 뭐니 이건 뭐 뭐야 </li>
</ul>
</div>
<script type="text/javascript">
// <![CDATA[
var RollingTest = new RollingList("RollingTest", "ul", 18, 2000, 100, 1);
RollingTest.init();
// ]]>
</script>
<h4>
ol 태그, 빠르게
</h4>
<h5>
비적용
</h5>
<div>
<ol>
<li> 아자 테스트 해보자 </li>
<li> 뭐니 이건 뭐 뭐야 </li>
<li> 궁시렁 쿵닥닥 </li>
<li> 어쩌자고 그러니 </li>
<li> 넌 사랑이 뭐라고 생각하니 </li>
<li> 공상 중이야 </li>
<li> 흠 예쁘다 </li>
<li> 마음씨가 고와 </li>
</ol>
</div>
<h5>
적용
</h5>
<div id="RollingTest2">
<ol>
<li> 아자 테스트 해보자 </li>
<li> 뭐니 이건 뭐 뭐야 </li>
<li> 궁시렁 쿵닥닥 </li>
<li> 어쩌자고 그러니 </li>
<li> 넌 사랑이 뭐라고 생각하니 </li>
<li> 공상 중이야 </li>
<li> 흠 예쁘다 </li>
<li> 마음씨가 고와 </li>
</ol>
</div>
<script type="text/javascript">
// <![CDATA[
var RollingTest2 = new RollingList("RollingTest2", "ol", 18, 1000, 30, 1);
RollingTest2.init();
// ]]>
</script>
</body>
</html>
댓글목록
등록된 댓글이 없습니다.
