Давно смотрю на эту вот ракету с необычным подъемом вверх. Но, смущают некоторые ошибки в консоли, которые появляются при включении режима адаптивного дизайна.
Причем ошибка повторяется при скролле. Если с TypeError: scrolltoprocketmeluncur.style is undefined все в общем-то понятно, то, вот справится с fetchOffset is not defined не удается.
Сам скрипт целиком:
jQuery(window).scroll(function(){
if(jQuery(window).scrollTop()<50){
jQuery('#rocketmeluncur').slideUp(500);
}else{
jQuery('#rocketmeluncur').slideDown(500);
}
var ftrocketmeluncur = jQuery("#ft")[0] ? jQuery("#ft")[0] : jQuery(document.body)[0];
var scrolltoprocketmeluncur = $('rocketmeluncur');
var viewPortHeightrocketmeluncur = parseInt(document.documentElement.clientHeight);
var scrollHeightrocketmeluncur = parseInt(document.body.getBoundingClientRect().top);
var basewrocketmeluncur = parseInt(ftrocketmeluncur.clientWidth);
var swrocketmeluncur = scrolltoprocketmeluncur.clientWidth;
if (basewrocketmeluncur < 1000) {
var leftrocketmeluncur = parseInt(fetchOffset(ftrocketmeluncur)['left']);
leftrocketmeluncur = leftrocketmeluncur < swrocketmeluncur ? leftrocketmeluncur * 2 - swrocketmeluncur : leftrocketmeluncur;
scrolltoprocketmeluncur.style.left = ( basewrocketmeluncur + leftrocketmeluncur ) + 'px';
} else {
scrolltoprocketmeluncur.style.left = 'auto';
scrolltoprocketmeluncur.style.right = '10px';
}
})
jQuery('#rocketmeluncur').click(function(){
jQuery("html, body").animate({ scrollTop: '0px',display:'none'},{
duration: 600,
easing: 'linear'
});
var self = this;
this.className += ' '+"launchrocket";
setTimeout(function(){
self.className = 'showrocket';
},800)
});
Если кто-то даст какие-то рекомендации, буду премного благодарен.
В общем, поковырял немного код и все ошибки поправил.
По факту, заменил 2 участка:
var leftrocketmeluncur = parseInt(ftrocketmeluncur.offsetLeft); - использовал .offsetLeft для получения расстояния до объекта в левом углу.scrolltoprocketmeluncur.css('left', (basewrocketmeluncur + leftrocketmeluncur + "px"));
} else {
scrolltoprocketmeluncur.css('left', 'auto');
scrolltoprocketmeluncur.css('right', '10px'); - задаем стили при помощи jQueryЕсли кому нужно будет, вот код целиком:
//ROCKET TO TOP
jQuery(window).scroll(function() {
if (jQuery(window).scrollTop() < 50) {
jQuery('#rocketmeluncur').slideUp(500);
} else {
jQuery('#rocketmeluncur').slideDown(500);
}
var ftrocketmeluncur = jQuery("#ft")[0] ? jQuery("#ft")[0] : jQuery(document.body)[0];
var scrolltoprocketmeluncur = $('rocketmeluncur');
var viewPortHeightrocketmeluncur = parseInt(document.documentElement.clientHeight);
var scrollHeightrocketmeluncur = parseInt(document.body.getBoundingClientRect().top);
var basewrocketmeluncur = parseInt(ftrocketmeluncur.clientWidth);
var swrocketmeluncur = scrolltoprocketmeluncur.clientWidth;
if (basewrocketmeluncur < 1000) {
var leftrocketmeluncur = parseInt(ftrocketmeluncur.offsetLeft);
leftrocketmeluncur = leftrocketmeluncur < swrocketmeluncur ? leftrocketmeluncur * 2 - swrocketmeluncur : leftrocketmeluncur;
scrolltoprocketmeluncur.css('left', (basewrocketmeluncur + leftrocketmeluncur + "px"));
} else {
scrolltoprocketmeluncur.css('left', 'auto');
scrolltoprocketmeluncur.css('right', '10px');
}
});
jQuery('#rocketmeluncur').click(function() {
jQuery("html, body").animate({
scrollTop: '0px',
display: 'none'
}, {
duration: 600,
easing: 'linear'
});
var self = this;
this.className += ' ' + "launchrocket";
setTimeout(function() {
self.className = 'showrocket';
}, 800);
});
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости