2011-12-10 14 views
0

私はこのページを上下にスクロールさせるために、このコードを持っています。位置をスクロールダウン

<a href="javascript://" id="toDown">Down</a> 
<a href="javascript://" id="toTop">Top</a> 

<script type="text/javascript"> 
jQuery.noConflict(); 
$(window).scroll(function(){ 
    if($(window).scrollTop() > "0"){ 
     $('#toTop').fadeIn(); 
     $('#toDown').hide(); 
    }else if($(window).scrollTop() == "0"){ 
     $('#toTop').fadeOut(); 
     $('#toDown').fadeIn(); 
    } 
}); 
$('#toTop').click(function(){ 
    $('html, body').animate({scrollTop:0}, 0); 
    $('#toDown').fadeIn(); 
}); 
$('#toDown').click(function(){ 
    $('html, body').animate({$('body').height()}, 0); 
    $('#toDown').fadeOut(); 
}); 
</script> 
+0

質問をさらに明確にしてください。あなたがしたいことは少し不明です。 – thwd

答えて

0

瞬間のスクロール位置を格納する変数を追加「上部」をクリックします

var iPosition = null; 

「トップ」がクリックされた場合、現在のスクロール位置を保存します。

iPosition = $(window).scrollTop(); 

'down'をクリックした場合、スクロール位置が保存されているかどうかを確認します。そうならば、そうでない場合は、文書の末尾に移動し、この位置に移動:

$('html, body').animate({scrollTop: (iPosition === null ? $('body').height() : iPosition)}, 0); 

完全なソースコード:

var iPosition = null;        // new 
jQuery.noConflict(); 
$(window).scroll(function(){ 
    if($(window).scrollTop() > "0"){ 
     $('#toTop').fadeIn(); 
     $('#toDown').hide(); 
    }else if($(window).scrollTop() == "0"){ 
     $('#toTop').fadeOut(); 
     $('#toDown').fadeIn(); 
    } 
}); 
$('#toTop').click(function(){ 
    iPosition = $(window).scrollTop();    // new 
    $('html, body').animate({scrollTop:0}, 0); 
    $('#toDown').fadeIn(); 
}); 
$('#toDown').click(function(){ 
    $('html, body').animate({scrollTop: (iPosition === null ? $('body').height() : iPosition)}, 0); // changed 
    $('#toDown').fadeOut(); 
}); 

をまた、このjsfiddleを参照してください。

関連する問題