$(function() {
window.last_scroll_position = 0;
var show = false
var close_button = ''
//console.log( g_is_guest , close_button)
var to_top_button = $('
↑ наверх
'+ close_button +'
')
$('body').append(to_top_button);
// наверх
$('.to_top_panel', to_top_button).click(function(){
if(to_top_button.hasClass('has_position')){
to_top_button.removeClass('has_position');
$('.to_top_button .arrow', to_top_button).html('↑');
$('.to_top_button .label', to_top_button).html('наверх');
$('html, body').animate({
scrollTop: window.last_scroll_position
}, 500);
window.last_scroll_position = 0;
}else{
to_top_button.addClass('has_position');
$('.to_top_button .arrow', to_top_button).html('↓');
$('.to_top_button .label', to_top_button).html('вниз');
window.last_scroll_position = window.pageYOffset;
$('html, body').animate({
scrollTop: 0
}, 500);
}
})
// закрыть
$('.close_panel', to_top_button).click(function(){
$.post('/json/settings/disable_scrollup/', { 'action': 'disable' }, function(json){
if(json.messages == 'ok'){
$('.to_top').remove()
$.jGrowl('Панель отключена. Вы можете настроить показ панели в настройках.', { sticky: true })
}else{
show_system_error(json)
}
})
return false;
})
var last_position = 0;
$(window).scroll(function () {
show_or_hide()
if( last_position < window.pageYOffset){
//console.log('скролл вниз', last_position , window.pageYOffset);
if( to_top_button.hasClass('has_position') ){
//to_top_button.removeClass('has_position');
//$('.to_top_button .arrow', to_top_button).html('↑');
//$('.to_top_button .label', to_top_button).html('наверх');
//to_top_button.hide()
show = false
}
}else{
//console.log('скролл вверх', last_position , window.pageYOffset);
}
last_position = window.pageYOffset;
})
function show_or_hide(){
if( window.pageYOffset > 400){
if(!show){
to_top_button.show()
to_top_button.removeClass('has_position');
$('.to_top_button .arrow', to_top_button).html('↑');
$('.to_top_button .label', to_top_button).html('наверх');
show = true
}
}else{
if(show && !to_top_button.hasClass('has_position')){
to_top_button.hide()
show = false
}
}
}
show_or_hide()
});