자바스크립트로 난수를 생성해보자.

 

 

Math.random() 을 쓰면 된다.

for (var i = 0; i < 10; i++) {
    console.log(Math.random());
}
    
0.25721506183081844
0.5823201981959083
0.1276669448208927
0.5631301578055086
0.17111868936942853
0.5330896617959899
0.8969996301883194
0.5037203939477015
0.6167480911555299
0.009640469869059975

 

Math.random() 은 0 이상,  1 미만의 값을 Return 한다.

 

만약 정수로 0이상 9이하 의 값을 구하고 싶다면?

 

for (var i = 0; i < 10; i++) {
    console.log(Math.floor(Math.random() * 10));
}


5
6
8
6
0
7
4
8
6
9

 

Math.random() 으로 나온 값에 10을 곱해주고 Math.floor() 로 소수점을 없애주면 된다.

 

시작이 0이 아닌 1로 하고 싶다면

 

for (var i = 0; i < 10; i++) {
    console.log(Math.floor(Math.random() * 10) + 1);
}


2
3
1
7
8
10
3
5
2
6

1이상 10이하의 수가 구해진다.

평소에 jQuery 로 get, post 를 쓰다가 javascript 만 사용해서 get은 어떻게 사용하는지 궁금해서 찾아봤다.

// jQuery

$.get("/sampleURL", function(response){
	console.log(response);
})

jquery 였다면 이렇게 간단하게 구현가능한데..

 

// Javascript

var xmlhttp = new XMLHttpRequest();

xmlhttp.onreadystatechange = function(){ // request 했을 때
    if(xmlhttp.readyState == XMLHttpRequest.DONE){ // request 가 완료 됐을 때
        if(xmlhttp.status == 200){ // 성공
            data = JSON.parse(xmlhttp.responseText);
            console.log(data); 
        }
        else{ // 실패
            console.log("Error : " + xmlhttp.status);
        }
    }
}

xmlhttp.open("GET", "/sampleURL"); // request 방식과 URL 지정
xmlhttp.send(); // request 한다

 

post 도 비슷하겠지만 자세히는 다음에 찾아봐야겠다.

 

Button이 여러개가 있다.

 

<!-- HTML -->

<button name='btn' id='a'>a</button>
<button name='btn' id='b'>b</button>
<button name='btn' id='c'>c</button>
<button name='btn' id='d'>d</button>
<button name='btn' id='e'>e</button>
<button name='btn' id='f'>f</button>
<button name='btn' id='g'>g</button>
<button name='btn' id='h'>h</button>

html

각 버튼을 눌렀을 때 id를 가져와보자

 

// javascript

// Name 으로 button 들을 가져온다
var btns = document.getElementsByName("btn");

// 가져온 버튼들(NodeList)에 forEach 로 EventListener 를 추가해준다.
btns.forEach(element => element.addEventListener('click', function(e){

    // e는 클릭 이벤트, e.target 으로 클릭된 객체를 가져온다.
    console.log(e.target);
    console.log(e.target.id);
    
    // a 를 눌렀을 때 :
    // <button name="btn" id="a">a</button>
    // a
}))

console

var btns = document.getElementsByName("btn")

btns.forEach(element => element.onclick = function(element){
    console.log(e.target)
    console.log(e.target.id)
})

물론 onclick 으로도 가능하다

input 태그에서 엔터 입력시 input의 값을 얻어오는 방법이다.

 

<input id="input">

<script type="text/javascript">

	// id 로 input 객체를 가져온다.
	var input = document.getElementById("input");
    
	// 가져온 객체에 EventListener 를 추가한다. keypress = 키입력 감지
	input.addEventListener('keypress', function(key){

	// key.key 의 값이 Enter 일 경우 코드 실행
        // key.keyCode == 13 도 동일한 기능을 한다.
        if(key.key == 'Enter'){
			var inputValue = input.value;
            console.log(inputValue);
            }
        })
        
</script>	

 

Google Chrome 에서 동작

비디오 태그에 controls 라는 옵션을 주면

밑에 비디오를 컨트롤하는 UI가 띄워진다.

근데 내가 필요 없는, 숨겨야 하는 버튼이 있는 경우 숨길 수 있다. (전체화면, 재생 등)

 

<video controls> </video>

 

/* style.css */

/* 숨기려는 버튼을 골라서 쓰자 */

/* 전체화면 버튼 */
video::-webkit-media-controls-fullscreen-button {}

/* 일시정지, 재생 버튼 */
video::-webkit-media-controls-play-button {}

/* 재생 슬라이드..? */
video::-webkit-media-controls-timeline {}

/* 현재 진행 시간 */
video::-webkit-media-controls-current-time-display{}

/* 전체 시간 */
video::-webkit-media-controls-time-remaining-display {}

/* 음소거 버튼 */
video::-webkit-media-controls-mute-button {}

/* 볼륨 조절 슬라이드 */
video::-webkit-media-controls-volume-slider {}

/* 괄호에 display: none !important; 를 추가하면된다.
 예 ) 전체화면 전환 버튼을 숨긴다. 
 다만 더블클릭으로 전체화면이 되는 기능등은 그대로고 단지 버튼만 없앤다. */

video::-webkit-media-controls-fullscreen-button {
	display: none !important;
}

 

'Frontend > CSS' 카테고리의 다른 글

CSS 애니메이션 성능 최적화하기  (8) 2021.04.07
[CSS] html a 태그 하이퍼링크 색깔 바꾸기  (21) 2020.04.13

+ Recent posts