반응형

김호의 뜬금 없는 과제..

var num = 12345;

일때 각 자리수를 더한 결과 값을 15가 되도록 출력.

문자열로 변환하지말고 작업

 

처음엔 아래와 같이 코드 작성



<script>
var num = 12345;
var sum = 0;

for(i=0;i<5;i++) {
	sum+=num%10;
	num = parseInt(num/10);
}

document.write(sum);

</script>

 

 

그러나 위와 같이 작성시에는
자리수를 알고 계산 해야 하므로 while 문을 이용해서 자리수 제한 없이 계산 가능 하도록
(김호가 작성한 코드와 병합(while문) )


<script>
var num = 123456;
var sum = 0;

while(num > 0) {
sum += num%10;
num = parseInt(num/10);
}
document.write(sum);

</script>

반응형

'자바스크립트' 카테고리의 다른 글

글자수 체크 하기  (0) 2011.10.05
javascript 메뉴  (0) 2011.10.05
javascript 롤링  (0) 2011.07.27
반응형
textarea 글자수 체크 하기

<html>
<head>
	<meta charset="utf-8">
	<title>textarea maxlength</title>
	<script>
		function checkcnt(obj,maxcnt){
			var cnts=obj.value;
			var cnt=cnts.length;
			var msg;
			var nowcnt=0;
			
			//입려되어있는 글자수만큼 반복
			for(i=0;i<cnt;i++){
				//txt에 i위치에 해당되는 글자 입력
				txt=cnts.charAt(i);
					// escape한 txt의 길이를 체크해서 4이상이면(한글) nowcnt + 2 
					if( escape(txt).length > 4){
						nowcnt+=2;
					}else{
						//아니면서 escape한 txt가 엔터값이 아니면 (엔터의 경우 %0D,%0A 두번 되는데
						//엔터는 1바이트 처리) nowcnt + 1
						if(escape(txt)!='%0A'){
							nowcnt++;
						}
					}
					//nowcnt 가 maxcnt 보다 크면 
					if(nowcnt>maxcnt){
						alert('글자수 초과');
						//txta 에 cnts의 값을 0 부터 i 까지 잘라서 입력
						document.getElementById("txta").value=cnts.substring(0,i);
						break;
					}else{
						//nums에 현재 바이트수 입력
						document.getElementById("nums").innerHTML=nowcnt+"byte";
					}
			}
		}
	</script>

</head>
<body>
	<textarea  id="txta" cols=50 rows=10 onkeyup="return checkcnt(this,10)"></textarea>
	<span  id="nums" style="width:100px;">0byte</span>
</body>
</html>

http://azit4u.phps.kr/script/maxlength.html


charAt(i) --> i번째 해당 되는 글자
반응형

'자바스크립트' 카테고리의 다른 글

자바스크립트로 각자리 숫자 합계 구하기  (0) 2014.01.24
javascript 메뉴  (0) 2011.10.05
javascript 롤링  (0) 2011.07.27
반응형

자바 스크립트 메뉴 만들기
<html>
<head>
	<title>menu1</title>
	<meta charset="utf-8">
	<style type="text/css">
		ul {list-style:none;}
		#menus a {
			text-decoration:none;
			color:#444;
			font-size:14pt;
		}
		.submenu {font-size:12pt}
		#menus a:hover {color:red;}
	</style>
	<script type="text/javascript">
		function showMenu(idx){
			//submenu1~submenu3까지 display=none 으로 변경
			for(i=1;i<4;i++){
				document.getElementById("submenu"+i).style.display="none";
			}
			//선택한  idx의 submenu 만 화면출력
			document.getElementById("submenu"+idx).style.display="block";
		}
	</script>
</head>
<body>
	<div id="wrap">
		<ul id="menus">
			<li><a href="#" onclick="showMenu(1); return false;">메뉴1</a></li>
				<ul id="submenu1" class="submenu" style="display:none">
					<li>메뉴1-1</li>
				</ul>
			<li><a href="#"  onclick="showMenu(2); return false;">메뉴2</a></li>
				<ul id="submenu2" class="submenu" style="display:none">
					<li>메뉴2-1</li>
					<li>메뉴2-2</li>
				</ul>
			<li><a href="#"  onclick="showMenu(3); return false;">메뉴3</a></li>
				<ul id="submenu3" class="submenu" style="display:none">
					<li>메뉴3-1</li>
					<li>메뉴3-2</li>
					<li>메뉴3-3</li>
				</ul>
		</ul>
	</div>
</body>
</html>
확인:http://azit4u.phps.kr/menu/menu.html
반응형

'자바스크립트' 카테고리의 다른 글

자바스크립트로 각자리 숫자 합계 구하기  (0) 2014.01.24
글자수 체크 하기  (0) 2011.10.05
javascript 롤링  (0) 2011.07.27
반응형

<html>
<head>
<script>
	//배열에 이미지 주소 넣기
	var img_arr=new Array("1.jpg","2.jpg","3.jpg","4.jpg","5.jpg","6.jpg","7.jpg","8.jpg","9.jpg","10.jpg");
	var tmp=0;	 //현재 출력되는 이미지  
	var tot=img_arr.length-1;	 // 전체 배열의 갯수
	var timer	//setInterval을 담을 변수
	var direction=1;	//방향 1이면 정방향 -1이면 역방향
	
	function roll(val){
		if(!val){
			val=direction;
		}else{
			direction=val;
		}	
		
		tmp=tmp+val;
		
		//tmp 가 0보다 작으면 tmp 에는 마지막 배열
		//tmp 가 마지막 배열 숫자보다 크면 0
		if(tmp<0){
			tmp=tot;
		}else if(tmp>tot){
			tmp=0;
		}

		//target에 img_arr에 tmp 값 넣기
		document.getElementById("target").src="img/"+img_arr[tmp];
	}

	//timer멈춤
	function stopRoll(){
		window.clearInterval(timer);
	}

	//페이지 접속시 배열0의 이미지를 target에 넣는다
	//페이지 접속시 startRoll()을 실행
	window.onload=function(){
		document.getElementById("target").src="img/"+img_arr[0];
		startRoll();
	}
	
	//3초 마다 한번씩 roll()함수 실행
	function startRoll(){	
		timer=window.setInterval("roll()",3000);
	}
</script>
</head>
<body>
<div id="wrap">
	<div id="contents" >
		<img src="img/arrow_1.jpg" style="cursor:pointer" onclick="roll(-1)">	
		<img id="target" onmouseover="stopRoll()" onmouseout="startRoll()" style="cursor:pointer">
		<img src="img/arrow_2.jpg"  style="cursor:pointer" onclick="roll(1)">
	</div>
</div>
</body>
</html>

확인:http://azit4u.phps.kr/script/roll.php
반응형

'자바스크립트' 카테고리의 다른 글

자바스크립트로 각자리 숫자 합계 구하기  (0) 2014.01.24
글자수 체크 하기  (0) 2011.10.05
javascript 메뉴  (0) 2011.10.05

+ Recent posts