一番上へのスクロール機能に次のスクリプトを使用しています。
$(window).scroll(function(){
if ($(this).scrollTop() > 100) {
$('.scrollup').fadeIn();
} else {
$('.scrollup').fadeOut();
}
});
$('.scrollup').click(function(){
$("html, body").animate({ scrollTop: 0 }, 600);
return false;
});
html
<a href="#" class="scrollup">Scroll</a>
CSS
.scrollup{
width:40px;
height:40px;
opacity:0.3;
position:fixed;
bottom:50px;
left:100px;
display:none;
text-indent:-9999px;
background:url('{{ 'icon_top.png' | asset_url }}') no-repeat;
}
@media only screen and (max-width: 767px) {
.scrollup {
display:none;
}
}
問題は、このスクリプトを使用しているときに display:none; が表示されることです。私のcss(@mediaの下)では使用されていません。モバイル デバイスでボタンを非表示にする必要があります。
一番下のスクリプト (異なる css を使用) を使用しても問題なく動作していますが、上のスクリプトを fadeIn の fadeOut に使用したいと考えています。
私は何が欠けていますか?
$(window).scroll(function(){
if(window.scrollY > 100) {
$('.scrollup').css('bottom', -8);
} else {
$('.scrollup').css('bottom', -100);
}
});
$('.scrollup').click(function(){
$("html, body").animate({ scrollTop: 0 }, 600);
return false;
});