jQuery pivot plugin Javascript & HTML & CSS/jQuery2017. 1. 5. 23:31
<!DOCTYPE html> <html> <head> <meta charset="utf-8">
<script src="http://code.jquery.com/jquery-latest.js"></script>
<style>
</style> </head> <body> <div id="pivot_slider"> <div> <h1>first image</h1> <img src="image-1.png"> <p>this is image-1</p> </div> <div> <h1>second image</h1> <img src="image-2.png"> <p>this is image-2</p> </div> <div> <h1>third image</h1> <img src="image-3.png"> <p>this is image-3</p> </div> <div> <h1>fourth image</h1> <img src="image-4.png"> <p>this is image-4</p> </div> </div>
<script> jQuery.fn.pivot = function(options){ var $target = $(this); var $items = $target.children(); var $container = $target.wrap('<div></div>').parent(); var option = {width: 500, height:450};
$.extend(option, options);
$target.css({ width:$items.length * option.width, height: option.height, position: 'absolute' }); $items.css({ float:'left', width: option.width, height: option.height }); $container.css({ overflow: 'hidden', position: 'relative', width: option.width, height: option.height });
var originalLeft = 0; var oldLeft = 0; var nowPosition = 0; var isDown = false;
$target.on('mousedown', function(event){ oldLeft = originalLeft = event.clientX; isDown = true; event.preventDefault(); }); $target.on('mousemove', function(){ if(isDown){ var distance = oldLeft - event.clientX; oldLeft = event.clientX;
$target.animate({left:'-=' + distance}, 0); $target.stop(true); } event.preventDefault(); }); $target.on('mouseup', function(){ function movePosition(direction){ var changePosition = nowPosition + direction; if(0 <= changePosition && changePosition < $items.length){ nowPosition = changePosition; } }
if(originalLeft - event.clientX > option.width/4){ movePosition(+1); }else if(originalLeft - event.clientX < -option.width/4){ movePosition(-1); }
$target.animate({'left':-nowPosition * option.width}, 'fast');
isDown = false; event.preventDefault(); }); } </script> <script> $(function(){ $('#pivot_slider').pivot({ width: 700, height: 800 }) }) </script> </body> </html> |
출처 : 모던 웹을 위한 Javascript jQuery 입문
'Javascript & HTML & CSS > jQuery' 카테고리의 다른 글
이벤트 발생시 this (0) | 2016.12.07 |
---|---|
jquery 이벤트전달 막기 + 기본이벤트 제거 방법 (0) | 2016.12.06 |
jquery 이벤트 막기 (0) | 2016.12.06 |
dialog, datepicker 플러그인 (0) | 2016.12.04 |
jquery 최신 cdn (0) | 2016.08.11 |