JavaScript에서 특정 작업을 몇 초 후에 실행하려면 setTimeout 함수를 사용할 수 있습니다. setTimeout 함수는 일정 시간(밀리초 단위)이 지난 후에 지정된 함수를 실행합니다.

사용법:

setTimeout(function, delay);


function: 지연 후 실행할 함수
delay: 지연 시간(밀리초 단위)

예제 1 - 간단한 예제:

setTimeout(function() {
    console.log("3초 후에 이 메시지가 출력됩니다.");
}, 3000);


예제 2 - 화살표 함수 사용:

setTimeout(() => {
    console.log("5초 후에 이 메시지가 출력됩니다.");
}, 5000);


예제 3 - 함수 참조 전달:

function showMessage() {
    console.log("2초 후에 이 메시지가 출력됩니다.");
}
setTimeout(showMessage, 2000);



예제 4 - DOM 조작 예제:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>setTimeout Example</title>
</head>
<body>
    <div id="message">메시지가 여기에 나타납니다.</div>
    <script>
        setTimeout(() => {
            document.getElementById("message").textContent = "4초 후에 이 메시지가 나타납니다.";
        }, 4000);
    </script>
</body>
</html>
더보기


설명:
간단한 예제: 3초 후에 콘솔에 메시지를 출력합니다.
화살표 함수 사용: 5초 후에 콘솔에 메시지를 출력합니다.
함수 참조 전달: showMessage라는 함수를 정의하고, 2초 후에 실행합니다.
DOM 조작 예제: setTimeout을 사용하여 4초 후에 div 요소의 텍스트 내용을 변경합니다.

이 예제들은 JavaScript에서 setTimeout 함수를 사용하여 특정 작업을 지연시키는 방법을 보여줍니다. setTimeout은 비동기적으로 동작하므로, 지연 시간 동안 코드의 다른 부분이 계속 실행될 수 있습니다.

 






adm/admin.head.php


menu.style.left = get_left_pos(link) + x +'px';
menu.style.top  = get_top_pos(link) + link.offsetHeight + y +'px'

'px'를 추가 해주면 석세스!







출처 : http://stackoverflow.com/questions/2901102/how-to-print-number-with-commas-as-thousands-separators-in-javascript



function numberWithCommas(n) {
   
var parts=n.toString().split(".");
   
return parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",") + (parts[1] ? "." + parts[1] : "");
}

출처 URL 페이지 상단부터 쭉~ 내려 오다보면, 위 펑션이 나오는데, 길어진 펑션이 이렇게 짧게 되었다.

세상은 넓고, 능력자는 많다.





문제 : 포탈의 검색창이 있다고 했을 때 이 안에 들어 갈 키워드를 순차적으로 보이게 하며, 해당 검색창을 클릭 했을 때 순차적으로 보이는 것을 멈추게 함.


<script>
var photos = ['1.jpg', '2.jpg', '3.jpg'];
var photo_index = 0;

$(function() {
    var timer = null;
    var input = document.getElementById('inputcode');

    function tick() {
        photo_index = (photo_index + 1) % photos.length;
        $('#inputcode').val(photos[photo_index]);
        start();
    };

    function start() {
        timer = setTimeout(tick, 1000);
    };

    function stop() {
        clearTimeout(timer);
    };

    $('#inputcode').bind("click", stop);

    start();
});
</script>
</head>
<body>
<input type="text" id="inputcode" >



---------------


프로타입은 구글링에서 찾았고, 여기서 더 수정했습니다.





그누보드가 최초 작성 될 때 익스플로러 어떤 버전에 맞게 개발이 되어 있는지 모르겠으나 파이어폭스(파폭)에서나 익스플로러 8에서는 그누보드 어드민(관리자) 페이지 상단에 마우스를 오버하면, 뎁스2 메뉴가 뎁스2바로 밑에 나타나야 하는데, 뎁스2의 첫번째 메뉴도, 두번째 메뉴도 첫번째 뎁스에 생겨서 선택을 하기가 어렵습니다.


admin.head.php


*기존

menu.style.left = get_left_pos(link) + x;

menu.style.top  = get_top_pos(link) + link.offsetHeight + y;



*수정

menu.style.left = get_left_pos(link) + x + 'px';
menu.style.top  = get_top_pos(link) + link.offsetHeight + y + 'px';



이렇게 수정하면, 정상적으로 됩니다.






jQuery로 작성한 스크립트가 에러를 뿜어 댑니다.

익스플로러에서는 null은 null이거나 개체가 없습니다.

파이어폭스에서는

$("head") is null
[Break On This Error]

$("head").append(cssHtml);


$("#아이디").size()) 라든가.


if($("#아이디").size() > 0){
.............
}

따로 파일을 생성해서 해당 스크립트만 했을 때는 정상이었습니다.

하나 하나 보니 의외에 곳이 문제였습니다.

기존에 작업되어 있던 prototype프레임웍과의 충돌 때문이었습니다.

jQuery를 사용할려면 prototype을 삭제해야 될 상황이었습니다.

함께 사용할려면 추가 해줘야 할 부분이 있습니다.

<script type="text/javascript">
 jQuery.noConflict();
</script>

jQuery로 된 js를 호출해서 사용한다면 해당 js파일에서 $대신에 jQuery를 교체해줘야 합니다.

에디터플러스에서 CTRL + H 신공!
이클립스에서 CTRL + F 신공!









 http://code.jquery.com/jquery-latest.min.js

<script  src="http://code.jquery.com/jquery-latest.min.js"></script>



위의 주소로 불러 오시면 항상 최신 버전을 사용하게 됩니다. ^^*




var plenary_name = $("input[name='plenary']:checked").val();
    if(plenary_name == "박 하선"){
        $("input[name='first_name']").val("하선");
        $("input[name='last_name']").val("박");
    }else if(plenary_name == "한 승연"){
        $("input[name='first_name']").val("승연");
        $("input[name='last_name']").val("한");
    }else if(plenary_name == "박 규리"){
        $("input[name='first_name']").val("규리");
        $("input[name='last_name']").val("박");
    }else if(plenary_name == "정 봉주"){
        $("input[name='first_name']").val("봉주");
        $("input[name='last_name']").val("정");
}

라디오 버튼 plenary이 체크되면 해당 라디오 버튼의 이름이 input box로 값이 넣어지는 jquery

+ Recent posts