시작페이지로 즐겨찾기추가
로그인
회원가입 l 출석체크 l 마이페이지 l CGIMALL
테이블 가로(ROW) 라인 이동 : happycgi
자료실 사이트등록 랭킹100 프로그램리뷰 관리자추천자료 초보가이드
커뮤니티
전체 펼쳐보기
퀵메뉴링크 jquery , CSS , PHP , Javascript , 무료폰트 , ASP
상세검색
 > JAVASCRIPT > javascript 소스창고 > JQuery > 테이블 가로(ROW) 라인 이동 상세정보
사이트등록
클라우드태그
Javascript
PHP
html
css
ASP
API
mysql
jquery
image
slide
Mobile
메뉴
게시판
현재접속자 36 새로고침
테이블 가로(ROW) 라인 이동
소스통계정보 오류신고 및 문의
해피팀
네티즌
트위터로 보내기 페이스북으로 보내기 네이버로공유
소스분류 JQuery
다운로드 횟수 919 회
간단설명 이동할 가로 라인을 더블클릭하여 활성화 한 후 이동시킬 가로라인을 더블클릭하여 해당내용을 이동시킵니다
평가하기 훌륭함 매우좋음 좋음 괜찮음 보통 별로
소스다운로드 데모 미리보기 스크랩하기

테이블에 <tr></tr>사이의 <td>들을 두번클릭으로 위치를 바꿀수 있습니다. table의 row에 해당되는 부분을 한꺼번에 이동시킬수 있는 자바스크립트입니다.

  1. 처음 보여지는 화면입니다.
  2. row 0 cell 0 부분을 더블클릭합니다.
  3. row 3 cell 0번 이 있는 <tr></tr>을 클릭하여 row부분에 해당되는 부분으로 이동시킵니다.

본예제의 자바스크립트입니다.

<html>
<head>
    <title>해피CGI</title>
<script type='text/javascript' language='JavaScript'>
// Set event handlers ------------
document.ondblclick=onDBLClickHandler;
document.onmouseover=onMouseOverHandler;
document.onmouseout=onMouseOutHandler;

document.onkeypress =
function esc(e)
    {   
    var baseLocation=document.all.mainTable
    document.all.rowId.value="disabled";
   
    if(typeof(e) == "undefined")
    {
    e=event;
    }
    if (e.keyCode == 27)
    {
        for (i=0; i < baseLocation.rows.length; i++)
        {
        baseLocation.rows(i).className='rowOnMouseOut';
        }
    }   
    }
// END ------------

// handler functions ------------
function onDBLClickHandler()
{
    var baseLocation=document.all.mainTable;
    var currentElement=event.srcElement.parentElement;
    var previousID=document.all.rowId.value;
    var presentID=currentElement.getAttribute("id");
   
            //reset rowID and background for clicking outside of table row
            if(currentElement.tagName == "TR" && presentID == "")
                {
                document.all.rowId.value="disabled";
                    for (i=0; i < baseLocation.rows.length; i++)
                        {
                        baseLocation.rows(i).setAttribute("id",i+"r")
                        baseLocation.rows(i).className='rowOnMouseOut';
                        }
                }
            else
                {
                    if(currentElement.tagName == "TR")
                    {
                        if(previousID == "disabled")
                            {
                            // set rowID : set background to "on click" color
                            document.all.rowId.value=presentID;
                            currentElement.className='rowOnDBLClick';
                            }
                        else
                            {
                            //set source row id : strip "r" from id
                            fromID=parseInt(previousID,10)
                           
                            //set target row id : strip "r" from id               
                            toID=parseInt(presentID,10)
                           
                            // move row : clear background : clear rowID from container
                            baseLocation.moveRow(fromID,toID);
                            initTableRows();               
                            }
                    }
                }
}

function onMouseOverHandler()
{
    var baseLocation=document.all.mainTable;   
    var currentElement=event.srcElement.parentElement;
    var presentID=currentElement.getAttribute("id");
   
            if(currentElement.tagName == "TR" && presentID != "")
            {
            baseLocation.rows(presentID).className='rowOnMouseOver';
            }
}

function onMouseOutHandler()
{
    var baseLocation=document.all.mainTable;   
    var currentElement=event.srcElement.parentElement;
    var previousID=document.all.rowId.value;
    var presentID=currentElement.getAttribute("id");
   
            if(currentElement.tagName == "TR" && presentID != "")
            {
                if(presentID != previousID)
                {
                baseLocation.rows(presentID).className='rowOnMouseOut';
                }
                else
                {
                baseLocation.rows(presentID).className='rowOnDBLClick';
                }
            }
}

// END ------------

// set ID's for each row(id=#r) : intialize row styles : row ID container value ------------
function initTableRows()
{
    var baseLocation=document.all.mainTable;
    document.all.rowId.value="disabled";
        for (i=0; i < baseLocation.cells.length; i++)
        {
        baseLocation.cells(i).unselectable = "On";
        }
        for (i=0; i < baseLocation.rows.length; i++)
        {
        baseLocation.rows(i).setAttribute("id",i+"r")
        baseLocation.rows(i).className='rowOnMouseOut';
        }
}
</script>


<style>
.rowOnMouseOver        {background-color:#FFFFFF; cursor:pointer; border:1px solid #000000; text-align:center; color:#000000; font-size:8pt; font-family:Verdana }
.rowOnMouseOut        {background-color:#9DB8E3; cursor:pointer; border:1px solid #000000; text-align:center; color:#000000; font-size:8pt; font-family:Verdana }
.rowOnDBLClick        {background-color:#F2E973; cursor:pointer; border:1px solid #000000; text-align:center; color:#000000; font-size:8pt; font-family:Verdana }
</style>
</head>

<body onload="initTableRows()">
<input type="hidden" id="rowId">

<TABLE id="mainTable" width=400>
<TR>
<TD>row 0 cell 0</TD>
<TD>row 0 cell 1</TD>
<TD>row 0 cell 2</TD>
</TR>
<TR>
<TD>row 1 cell 0</TD>
<TD>row 1 cell 1</TD>
<TD>row 1 cell 2</TD>
</TR>
<TR>
<TD>row 2 cell 0</TD>
<TD>row 2 cell 1</TD>
<TD>row 2 cell 2</TD>
</TR>
<TR>
<TD>row 3 cell 0</TD>
<TD>row 3 cell 1</TD>
<TD>row 3 cell 2</TD>
</TR>
<TR>
<TD>row 4 cell 0</TD>
<TD>row 4 cell 1</TD>
<TD>row 4 cell 2</TD>
</TR>
<TR>
<TD>row 5 cell 0</TD>
<TD>row 5 cell 1</TD>
<TD>row 5 cell 2</TD>
</TR>
</TABLE>


</body>
</html>


네티즌 의견   이용하신 자료의 후기를 자유롭게 작성하세요. (상업적인 광고 및 도배성 글 등은 사전통보없이 삭제될 수 있습니다.)
내용 아이디 의견남기기
등록된 의견이 없습니다.
1
이름
내용
:네맞아요: :화나는군요: :잠와: :우울해: :이건아냐: :왕하하: 왕웃음~ 놀램~
평가하기 훌륭함 매우좋음 좋음 괜찮음 보통 별로
도배방지키
 17734468 보이는 도배방지키를 입력하세요.