Javascript 在我的案例中,使用js滚动到元素失败
我收到此错误Javascript 在我的案例中,使用js滚动到元素失败,javascript,jquery,Javascript,Jquery,我收到此错误未捕获引用错误:未定义highlightedBlock $(this).parents('.type-coupon').addClass('highlightedBlock'); function findPos(obj) { var curtop = 0; if (obj.offsetParent) { do {
未捕获引用错误:未定义highlightedBlock
$(this).parents('.type-coupon').addClass('highlightedBlock');
function findPos(obj) {
var curtop = 0;
if (obj.offsetParent) {
do {
curtop += obj.offsetTop;
} while (obj = obj.offsetParent);
return [curtop];
}
}
//Scroll to location of highlightedBlock on load
window.scroll(0,findPos(highlightedBlock));
如果说上面的块在事件中,我如何确保定义了
highlightedBlock
?findPos的功能是将窗口的屏幕滚动到一个元素,但我不能硬编码highlightedBlock类。有什么想法吗?你不能检查一下这种类型的类是否存在。。例如:
if($('.'+className).length >0)
{
window.scroll(0,findPos(className));
}
我希望我解决了您的问题…您可以创建一个局部变量,并尝试将
高亮显示块的值分配给它,当变量不存在时,返回到false
:
var highlightedBlock = highlightedBlock || false;
然后,在拨打电话之前,您可以将其传递到if
语句中:
if (highlightedBlock)
window.scroll(0,findPos(highlightedBlock));
没用,我试过了。我认为这是因为findpo与addClass同时运行。