티스토리 뷰

<head> 와 </head> 사이에 아래의 스크립트 코드를 삽입합니다.

<script type="text/javascript">
var ContextMenu = 1;
document.oncontextmenu = MenuOff
function MenuOff() {
        if(ContextMenu == 0) {
                ContextMenu = 1;
                return false;                
        }        
}

function goto_top()
{
        var x = document.body.scrollLeft;
        var y = document.body.scrollTop;
        var step = 2;

        while ((x != 0) || (y != 0)) {
                scroll (x, y);
                step += (step * step / 100);
                x -= step;
                y -= step;
                if (x < 0) x = 0;
                if (y < 0) y = 0;
        }
        scroll (0, 0);
        ContextMenu = 0;        
}

function goto_bottom()
{
        var x = document.body.scrollLeft;
        var y = document.body.scrollTop;
        var DocWidth = document.body.scrollWidth;
        var DocHeight = document.body.scrollHeight;
        var step = 2;

        while ((x != DocWidth) || (y != DocHeight)) {
                scroll (x, y);
                step += (step * step / 100);
                x += step;
                y += step;
                if (x > DocWidth) x = DocWidth;
                if (y > DocHeight) y = DocHeight;
        }
        scroll (x, y);
        ContextMenu = 0;
}

function addEvent(elm, evType, fn, useCapture)
{
  if (elm.addEventListener) {
    elm.addEventListener(evType, fn, useCapture);
    return true;
  } else if (elm.attachEvent) {
    var r = elm.attachEvent('on' + evType, fn);
    return r;
  } else {
    elm['on' + evType] = fn;
  }
}

var start_x = 0;
var start_y = 0;

function mousePosition(evt) {
                        if (!evt) {
                        evt = arguments[0] ? arguments[0] : window.event;
                        }
        if(evt.button == 2 ) {
                if(evt) {
                        start_x = evt.pageX ? evt.pageX : evt.clientX;
                        start_y = evt.pageY ? evt.pageY : evt.clientY;
                }else{
                        start_x= window.event.x;
                        start_y= window.event.y;
                }
                addEvent(document.getElementById("wrapper"), 'mouseup', mousePositionDiff, false);        
        }
}

function mousePositionDiff(evt) {
        if (!evt) {
        evt = arguments[0] ? arguments[0] : window.event;
        }
        if(evt.button == 2) {
                var end_x,end_y;
                var diff_x,diff_y;
                if(evt) {
                        end_x = evt.pageX ? evt.pageX : evt.clientX;
                        end_y = evt.pageY ? evt.pageY : evt.clientY;
                }else{
                        end_x=window.event.x;
                        end_y=window.event.y;
                }
                diff_x = start_x - end_x;
                diff_y = start_y - end_y;

                if(diff_y > 30) goto_top();
                if(diff_y < -30) goto_bottom();
        }
}
</script>


다음으로 <body> 와 </body> 사이에 아래와 같이 div 로 감싸보세요. 꼭 전체를 감싸지 않아도 될겁니다.

<div id=wrapper onmousedown="mousePosition(event)" >
내용
</div>

'이전페이지/다음페이지' 로의 이동기능 추가

function goForward() {
window.history.go(1);
ContextMenu = 0;
}

function goBack() {
window.history.go(-1);
ContextMenu = 0;
}


기존 소스에 위의 함수를 두개 추가해 주신후..

if(diff_y > 30) goto_top();
if(diff_y < -30) goto_bottom();


를 찾아서 그 밑에 아래 내용을 붙여주면 됩니다.

if(diff_x > 30) goBack();
if(diff_x < -30) goForward();
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함