HTML/JavaScript 슬라이딩 요소 사용
6302 단어 HTMLJavaScript
코드
sample.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>要素スライドテスト</title>
<style>
body{
background: #ccc;
}
.panel{
position: fixed;
bottom: 0px;
right: 0px;
width: 200px;
background: rgba(0,255,0,0.7);
color: #00f;
font-size: 2em;
transition: 1s;
}
</style>
</head>
<body>
<div class="panel">panel</div>
<script>
var panel = document.querySelector('.panel');
var hideHeight = 1.5;
var openHeight = 15;
//default height
panel.style.height = hideHeight + 'em';
panel.addEventListener('click',function (){
//emをpxに変換
var pxPerEm = getComputedStyle(panel, '').fontSize.match(/\d*\.?\d*/)[0];
if(panel.offsetHeight == hideHeight * pxPerEm){
this.style.height = openHeight + 'em';
}else if(panel.offsetHeight == openHeight * pxPerEm){
this.style.height = hideHeight + 'em';
}else{
return;
}
});
</script>
</body>
</html>
3element.offsetHeight
'px'로 요소의 높이(padding,border 포함)를 얻는다.
height는 "em"으로 지정합니다(개인적으로 "em"으로 지정하고 싶습니다)
'px'와'em'에서 비교할 수 없기 때문에 em를 px로 바꾸었다.
실행 결과
슬라이드 전
슬라이드 이후
Reference
이 문제에 관하여(HTML/JavaScript 슬라이딩 요소 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/junya/items/426001c4ad11c4411b85
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>要素スライドテスト</title>
<style>
body{
background: #ccc;
}
.panel{
position: fixed;
bottom: 0px;
right: 0px;
width: 200px;
background: rgba(0,255,0,0.7);
color: #00f;
font-size: 2em;
transition: 1s;
}
</style>
</head>
<body>
<div class="panel">panel</div>
<script>
var panel = document.querySelector('.panel');
var hideHeight = 1.5;
var openHeight = 15;
//default height
panel.style.height = hideHeight + 'em';
panel.addEventListener('click',function (){
//emをpxに変換
var pxPerEm = getComputedStyle(panel, '').fontSize.match(/\d*\.?\d*/)[0];
if(panel.offsetHeight == hideHeight * pxPerEm){
this.style.height = openHeight + 'em';
}else if(panel.offsetHeight == openHeight * pxPerEm){
this.style.height = hideHeight + 'em';
}else{
return;
}
});
</script>
</body>
</html>
Reference
이 문제에 관하여(HTML/JavaScript 슬라이딩 요소 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/junya/items/426001c4ad11c4411b85텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)