2 行导致数千个 Java 脚本错误
2 Lines Causing thousands of Java Script Errors
在此页面上:https://www.airsyspro.com 有一个用于棒头的脚本似乎有一个无限循环,导致控制台中出现数千个错误。关于如何解决此问题的任何想法?
您会在控制台中看到它出现在第 2216 和 2245 行。JS 不是我的专长,在此先感谢。
我认为问题是这样的:
var orgElementPos = $('.original1').offset();
class 'original' 没有一个元素。
var orgElementPos
为空。
同时检查这个:
$('.msb-sticky-bar').addClass('original1')
缺少 class msb-sticky-bar
。
if ($('.hpg-sticky-bar').length) {
$('.hpg-sticky-bar').addClass('original').clone().insertAfter('.hpg-sticky-bar').addClass('cloned').css('position','fixed').css('top','0').css('margin-top','0').css('z-index','500').removeClass('original').hide();
scrollIntervalID = setInterval(stickIt, 10);
function stickIt() {
var orgElementPos = $('.original').offset();
orgElementTop = orgElementPos.top;
if ($(window).scrollTop() >= (orgElementTop)) {
// scrolled past the original position; now only show the cloned, sticky element.
// Cloned element should always have same left position and width as original element.
orgElement = $('.original');
coordsOrgElement = orgElement.offset();
leftOrgElement = coordsOrgElement.left;
widthOrgElement = orgElement.css('width');
$('.cloned').css('left',leftOrgElement+'px').css('top',0).css('width',widthOrgElement).show();
$('.original').css('visibility','hidden');
} else {
// not scrolled past the menu; only show the original menu.
$('.cloned').hide();
$('.original').css('visibility','visible');
}
}
}
可以像上面的例子一样简单
在此页面上:https://www.airsyspro.com 有一个用于棒头的脚本似乎有一个无限循环,导致控制台中出现数千个错误。关于如何解决此问题的任何想法?
您会在控制台中看到它出现在第 2216 和 2245 行。JS 不是我的专长,在此先感谢。
我认为问题是这样的:
var orgElementPos = $('.original1').offset();
class 'original' 没有一个元素。
var orgElementPos
为空。
同时检查这个:
$('.msb-sticky-bar').addClass('original1')
缺少 class msb-sticky-bar
。
if ($('.hpg-sticky-bar').length) {
$('.hpg-sticky-bar').addClass('original').clone().insertAfter('.hpg-sticky-bar').addClass('cloned').css('position','fixed').css('top','0').css('margin-top','0').css('z-index','500').removeClass('original').hide();
scrollIntervalID = setInterval(stickIt, 10);
function stickIt() {
var orgElementPos = $('.original').offset();
orgElementTop = orgElementPos.top;
if ($(window).scrollTop() >= (orgElementTop)) {
// scrolled past the original position; now only show the cloned, sticky element.
// Cloned element should always have same left position and width as original element.
orgElement = $('.original');
coordsOrgElement = orgElement.offset();
leftOrgElement = coordsOrgElement.left;
widthOrgElement = orgElement.css('width');
$('.cloned').css('left',leftOrgElement+'px').css('top',0).css('width',widthOrgElement).show();
$('.original').css('visibility','hidden');
} else {
// not scrolled past the menu; only show the original menu.
$('.cloned').hide();
$('.original').css('visibility','visible');
}
}
}
可以像上面的例子一样简单