rolling.js => 롤링기능 모아놓은 파일
function rollingTop(list, listItem, marginTop, animateTime, intervalTime){
var id = setInterval(function(){
if(!$(list + ' ' + listItem).first().is(':animated')){ //가아니면
$(list + ' ' + listItem).first()
.animate({'margin-top':marginTop+'px'},animateTime,function(){
$(this).detach().appendTo(list).removeAttr('style');
})
}
},intervalTime)
return id;
}
function rollingLeft(list, listItem, animateTime, intervalTime){
var id = setInterval(function(){
if(!$(list+ ' '+ listItem).first().is(':animated')){
var width = $(list+' '+listItem).first().innerWidth();
$(list+' '+listItem).first()
.animate({'margin-left':'-'+width}, animateTime, function(){
$(this).detach().appendTo(list).removeAttr('style');
})
}
},intervalTime);
return id;
}
function rollingRight(list, listItem, animateTime, intervalTime){
var id = setInterval(function(){
if(!$(list+ ' '+ listItem).first().is(':animated')){
var width = $(list+' '+listItem).last().innerWidth();
$(list+' '+listItem).last().detach().prependTo(list)
.css({'margin-left':-width+'px'}).animate({'margin-left':'0px'},animateTime);
}
},intervalTime);
return id;
}
function rolling(deirection, list, listItem, margin, animateTime,intervalTime){
if(deirection.toLowerCase() == 'left'){
return rollingLeft(list, listItem, animateTime, intervalTime);
}
else if(deirection.toLowerCase()=='right'){
return rollingRight(list, listItem, animateTime, intervalTime);
}else{
return rollingTop(list, listItem, margin, animateTime, intervalTime);
}
}
function reorganizing_rollingToRight(list, listItem, animateTime, intervalTime){
var id=
setInterval(function(){
if(!$(list+ ' '+ listItem).first().is(':animated')){
var width= $(list+ ' '+ listItem).first().width();
$(list+ ' '+ listItem).first().detach().appendTo(list);
$(list).css('margin-left',-width+'px').animate({'margin-left':'0px'},animateTime)
}
},intervalTime);
return id;
}
1. 세로방향에서 아래에서 위로 올라가는 기능
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>롤링 예제(두개)</title>
<script src="../JS/jquery.min.js"></script>
<script src="../JS/rolling.js"></script>
<script>
var id1, id2;
$(function(){
id1 = rollingTop('.first','li',-50,800,1000);
id2 = rollingTop('.second','li',-50,1000,1500);
$('.first').hover(function(){
clearInterval(id1);
},function(){
id1= rollingTop('.first','li',-50,800,1000);
})
$('.second').hover(function(){
clearInterval(id2);
},function(){
id2= rollingTop('.second','li',-50,1000,1500);
})
})
</script>
<style>
ul{
list-style: none; padding: 0; margin: 0; height: 50px; overflow: hidden;
text-align: center; background: goldenrod; margin-bottom: 10px;
}
li{
height: 50px; line-height: 50px;
}
</style>
</head>
<body>
<div class="box">
<ul class="first">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
<ul class="second">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</div>
</body>
</html>
더보기
쌤코드
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>롤링 예제(세로이동)</title>
<script src="../JS/jquery.min.js"></script>
<script src="../JS/rolling.js"></script>
<script>
var id1, id2, id3;
$(function(){
id1 = rollingTop('.box1','li',-50,800,1000);
id2 = rollingTop('.box2','li',-50,1000,1500);
id3 = rollingTop('.box3','li',-50,1500,2000);
$('.box1').hover(function(){
clearInterval(id1);
},function(){
id1 = rollingTop('.box1','li',-50,800,1000);
})
$('.box2').hover(function(){
clearInterval(id2);
},function(){
id2 = rollingTop('.box2','li',-50,1000,1500);
})
$('.box3').hover(function(){
clearInterval(id3);
},function(){
id3 = rollingTop('.box3','li',-50,1500,2000);
})
})
</script>
<style>
ul{
list-style: none; height: 50px; overflow: hidden;
background: yellowgreen;
}
li{
text-align: center; line-height: 50px; height: 50px;
}
</style>
</head>
<body>
<ul class="box1">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
<ul class="box2">
<li>a</li>
<li>b</li>
<li>c</li>
<li>d</li>
</ul>
<ul class="box3">
<li>ㄱ</li>
<li>ㄴ</li>
<li>ㄷ</li>
<li>ㄹ</li>
</ul>
</div>
</body>
</html>
2. 가로방향에서 왼쪽에서오른쪽(기본)방향으로 이동하는 롤링
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>롤링예제(가로_왼쪽에서오른쪽)</title>
<script src="../JS/jquery.min.js"></script>
<script>
var id1
$(function(){
id1 = rollingLeft('.container','li',-200,800,1000);
$('.container').hover(function(){
clearInterval(id1);
},function(){
id1 = rollingLeft('.container','li',-200,800,1000);
})
})
function rollingLeft(list, listItem, marginLeft, animateTime, intervalTime){
var id = setInterval(function(){
if(!$(list + ' ' + listItem).first().is(':animated')){
$(list + ' ' + listItem).first()
.animate({'margin-left':marginLeft+'px'},animateTime,function(){
$(this).detach().appendTo(list).removeAttr('style');
})
}
},intervalTime)
return id;
}
</script>
<style>
*{margin: 0; padding: 0; text-decoration: none; color: black; list-style: none;}
.window{
width: 200px; height: 50px; border: 1px solid red; overflow: hidden;}
.container{
width: 800px; height: 50px; background: silver; position: relative;}
.container li{
width:200px; height: 50px; text-align: center; font-size:20px; line-height: 50px; float: left;}
</style>
</head>
<body>
<div class="window">
<ul class="container">
<li>가</li>
<li>나</li>
<li>다</li>
<li>라</li>
</ul>
</div>
</body>
</html>
더보기
쌤코드
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>롤링예제(가로)</title>
<script src="../JS/jquery.min.js"></script>
<script src="../js/rolling.js"></script>
<!--순서지킬것, 편하게사용할 수 있도록 기능을 만들어 모아놓은 걸 plug-in이라고 함-->
<script>
$(function(){
id=rollingLeft('.box1', 'li', '800', '1000');
$('.box1').hover(function(){
clearInterval(id);
}, function(){
id= rollingLeft('.box1', 'li', '800', '1000');
})
})
</script>
<style>
.view-box{
height: 50px; overflow: hidden; border: 2px solid black;
}
ul{
list-style: none; padding: 0; margin: 0; width: 400%;
}
li{
width: 25%; height: 50px; line-height: 50px; text-align: center; float: left;
}
ul::after{
display: block; content: ''; clear: both;
}
</style>
</head>
<body>
<div class="view-box">
<ul class="box1">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</div>
</body>
</html>
3. 가로에서 방향이 왼쪽에서 오른쪽으로 이동하는 롤링
(숫자배열이 가-나-다-라 순으로 나오게하기위해서 li태그 순서 배치 후 들어간거라서 왼쪽제일첫번째가 first)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>롤링예제(가로_오른쪽에서왼쪽으로)</title>
<script src="../JS/jquery.min.js"></script>
<script src="../JS/rolling.js"></script>
<script>
var id;
$(function(){
id=reorganizing_rollingToRight('.container', 'li', 800, 1000);
$('.container').hover(function(){
clearInterval(id);
}, function(){
id=reorganizing_rollingToRight('.container', 'li', 800, 1000);
})
})
</script>
<style>
*{margin: 0; padding: 0; text-decoration: none; color: black; list-style: none;}
.window{
width: 200px; height: 50px; border: 1px solid red; overflow: hidden;}
.container{
width: 800px; height: 50px; background: silver; position: relative;}
.container li{
width:200px; height: 50px; text-align: center; font-size:20px; line-height: 50px;
float: right;}
</style>
</head>
<body>
<div class="window">
<ul class="container">
<li>가</li>
<li>나</li>
<li>다</li>
<li>라</li>
</ul>
</div>
</body>
</html>
더보기
쌤코드 (숫자배열이동없이 그대로 4-3-2-1 순서로 나옴)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>롤링예제(가로)</title>
<script src="../JS/jquery.min.js"></script>
<script src="../JS/rolling.js"></script>
<script src="https://kit.fontawesome.com/4bb639362a.js" crossorigin="anonymous"></script>
<script>
var id;
$(function(){
id = rollingRight('.box1', 'li', 800, 1000);
//id=rolling('right', '.box1', 'li', 0,800,1000);
$('.view-box').hover(function(){
clearInterval(id);
},function(){
id=rollingRight('.box1','li',800,1000);
})
})
</script>
<style>
.view-box{
height: 50px; overflow: hidden; border: 2px solid black;
}
.box1{
list-style: none; width: 400%; padding: 0; margin: 0;
}
.box1 li{
width: 25%; height: 50px; line-height: 50px; text-align: center;
background: yellowgreen; float: left;
}
</style>
</head>
<body>
<div class="view-box">
<ul class="box1">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</div>
</body>
</html>
'괴발개발 > Javascript+JQuery' 카테고리의 다른 글
JQ_swiper 스와이퍼사용방법 (0) | 2021.06.25 |
---|---|
JQ_롤링(좌우버튼달기) (0) | 2021.06.25 |
JQ_스크롤( scroll(), scrollTop(),scrollLeft() ) (0) | 2021.06.24 |
JQ_detach() (0) | 2021.06.24 |
JQ_질문등록창(+서브질문등록) (1) | 2021.06.24 |