728x90
왔다갔다
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#myHeart {
overflow:visible;
position: relative;
top:100px;
left:300px;
width:170px;
height: 430px;
/* border: 1px solid black; */
}
/*#ball {
position:relative;
z-index:100;
top:-25px;
left:60px;
width:50px;
height:50px;
border-radius: 50%;
background-color: pink;
}*/
#bar {
position: relative;
top:-50px;
left: 75px;
width:20px;
height:300px;
background-color: orange;
}
#heart {
width:150px;
height:150px;
left:9px;
top:-100px;
position:relative;
/* border:5px dashed magenta; */
transform: rotate(45deg);
}
#tcircle{
position: absolute;
left:50px;
width:100px;
height:100px;
background-color:orangered;
border-radius: 50%;
}
#lcircle {
position:absolute;
top:50px;
width:100px;
height:100px;
background-color:orangered;
border-radius: 50%;
}
#nemo {
position:absolute;
left:50px;
top:50px;
width:100px;
height:100px;
background-size: 100px 100px;
background-color: orangered;
}
</style>
</head>
<body>
<div id="myHeart">
<!-- <div id="ball"></div> -->
<div id="bar"></div>
<div id="heart">
<div id="tcircle"></div>
<div id="lcircle"></div>
<div id="nemo"></div>
</div>
</div>
<script>
var v_myHeart = document.getElementById("myHeart");
var v_nemo = document.getElementById("nemo");
v_myHeart.style.transformOrigin = "center top";
var v_gak = 0;
var v_mv = 3;
function f_swing(){
v_gak = (v_gak + v_mv) % 360;
v_myHeart.style.transform = "rotate(" + v_gak + "deg)";
if(v_gak >= 30 || v_gak <= -30){
v_mv = -v_mv;
}
if(v_gak < 0){
v_nemo.style.transform = "rotate(0deg)"
} else {
v_nemo.style.transform = "rotate(-90deg)";
}
setTimeout(f_swing,200);
}
f_swing();
</script>
</body>
</html>
비율조정
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#myHeart {
overflow: visible;
position: relative;
top: 100px;
left: 300px;
width: 170px;
height: 430px;
/* border: 1px solid black; */
}
/*#ball {
position:relative;
z-index:100;
top:-25px;
left:60px;
width:50px;
height:50px;
border-radius: 50%;
background-color: pink;
}*/
#bar {
position: relative;
top: -50px;
left: 75px;
width: 20px;
height: 300px;
background-color: orange;
}
#heart {
width: 150px;
height: 150px;
left: 9px;
top: -100px;
position: relative;
/* border:5px dashed magenta; */
transform: rotate(45deg);
}
#tcircle {
position: absolute;
left: 50px;
width: 100px;
height: 100px;
background-color: orangered;
border-radius: 50%;
}
#lcircle {
position: absolute;
top: 50px;
width: 100px;
height: 100px;
background-color: orangered;
border-radius: 50%;
}
#nemo {
position: absolute;
left: 50px;
top: 50px;
width: 100px;
height: 100px;
background-size: 100px 100px;
background-color: orangered;
}
</style>
</head>
<body>
<input type=button value="크기조정" onclick="f_scale()">
<div id="myHeart">
<div id="ball"></div>
<div id="bar"></div>
<div id="heart">
<div id="tcircle"></div>
<div id="lcircle"></div>
<div id="nemo"></div>
</div>
</div>
<script>
function f_scale() {
var v_parent = document.getElementById("myHeart");
// v_parent.style.transform = "scale(10)"; // 절반으로 줄이기
v_parent.style.transform = "scale(2,1.5)"; // 폭 2배, 높이 1.5배
}
var v_myHeart = document.getElementById("myHeart");
var v_nemo = document.getElementById("nemo");
v_myHeart.style.transformOrigin = "center top";
var v_gak = 0;
var v_mv = 3;
function f_swing() {
v_gak = (v_gak + v_mv) % 360;
v_myHeart.style.transform = "rotate(" + v_gak + "deg)";
if (v_gak >= 30 || v_gak <= -30) {
v_mv = -v_mv;
}
if (v_gak < 0) {
v_nemo.style.transform = "rotate(0deg)"
} else {
v_nemo.style.transform = "rotate(-90deg)";
}
setTimeout(f_swing, 200);
}
// f_swing();
</script>
</body>
</html>
v_parent.style.transform = "scale(2,1.5)"; // 폭 2배, 높이 1.5배
폭과 높이 둘 다 10
v_parent.style.transform = "scale(10)"; // 절반으로 줄이기
마우스 이벤트
마우스 위에 올라갔을 때
<div id="myHeart" onmouseover="f_scale()">
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#myHeart {
overflow: visible;
position: relative;
top: 100px;
left: 300px;
width: 170px;
height: 430px;
/* border: 1px solid black; */
}
/*#ball {
position:relative;
z-index:100;
top:-25px;
left:60px;
width:50px;
height:50px;
border-radius: 50%;
background-color: pink;
}*/
#bar {
position: relative;
top: -50px;
left: 75px;
width: 20px;
height: 300px;
background-color: orange;
}
#heart {
width: 150px;
height: 150px;
left: 9px;
top: -100px;
position: relative;
/* border:5px dashed magenta; */
transform: rotate(45deg);
}
#tcircle {
position: absolute;
left: 50px;
width: 100px;
height: 100px;
background-color: orangered;
border-radius: 50%;
}
#lcircle {
position: absolute;
top: 50px;
width: 100px;
height: 100px;
background-color: orangered;
border-radius: 50%;
}
#nemo {
position: absolute;
left: 50px;
top: 50px;
width: 100px;
height: 100px;
background-size: 100px 100px;
background-color: orangered;
}
</style>
</head>
<body>
<input type=button value="크기조정" onclick="f_scale()">
<!-- 마우스가 올라갔을 때 -->
<div id="myHeart" onmouseover="f_scale()">
<div id="ball"></div>
<div id="bar"></div>
<div id="heart">
<div id="tcircle"></div>
<div id="lcircle"></div>
<div id="nemo"></div>
</div>
</div>
<script>
function f_scale() {
var v_parent = document.getElementById("myHeart");
// v_parent.style.transform = "scale(10)"; // 절반으로 줄이기
v_parent.style.transform = "scale(2,1.5)"; // 폭 2배, 높이 1.5배
}
var v_myHeart = document.getElementById("myHeart");
var v_nemo = document.getElementById("nemo");
v_myHeart.style.transformOrigin = "center top";
var v_gak = 0;
var v_mv = 3;
function f_swing() {
v_gak = (v_gak + v_mv) % 360;
v_myHeart.style.transform = "rotate(" + v_gak + "deg)";
if (v_gak >= 30 || v_gak <= -30) {
v_mv = -v_mv;
}
if (v_gak < 0) {
v_nemo.style.transform = "rotate(0deg)"
} else {
v_nemo.style.transform = "rotate(-90deg)";
}
setTimeout(f_swing, 200);
}
// f_swing();
</script>
</body>
</html>