【jQuery】スクロールをDisable
by tea4two
HTML
<div id="slider">
</div>
<button id="click">Click Me</button>
CSS
body, html {
height: 200%;
padding: 0;
margin: 0;
background: #3A3A3A url(http://fc09.deviantart.net/fs70/f/2010/246/b/b/many_worlds_by_casperium-d2xthz4.jpg) repeat;
}
#slider {
position: absolute;
top: 10px;
width: 400px;
border: 1px solid #000;
border-left: none;
height: 200px;
margin-left: -400px;
background-color: #fff;
}
#click {
position: fixed;
bottom: 10px;
left; 10px;
width: 200px;
height: 50px;
background-color: #fff;
color: #000;
font-size: 20px;
}
JavaScript
var floater = false;
$('#click').click(function(){
var top = $(window).scrollTop();
var left = $(window).scrollLeft()
if(!floater){
$('body').css('overflow', 'hidden');
$(window).scroll(function(){
$(this).scrollTop(top).scrollLeft(left);
});
} else {
$('body').css('overflow', 'auto');
$(window).off('scroll');
}
$('#slider').css({top: top, left : left}).animate({
'margin-left' : (floater ? -400 : 0)
}, 500);
floater = !floater;
});