【发布时间】:2014-12-09 18:22:35
【问题描述】:
我在 jsp 和 js 中有以下代码。发生的事情与我单击的按钮无关,两个 javascript 函数都被调用。我不确定我在这里缺少什么?
HTML:
<a type="button" id="scrollOffsetDiv" href="dashboard?offloglag=off&duration=${duration}#offset">Offset</a>
<a type="button" id="scrollMsgDiv" href="dashboard?offloglag=off&duration=${duration}#offset">Msg</a>
JS:
$(document).on("click","#scrollOffsetDiv", setTimeout(scrollOffsetDiv,3000));
function scrollOffsetDiv() {
var scrollTop = $(window).scrollTop(),
elementOffset = $('#offset').offset().top,
scrollDistance = (scrollTop-elementOffset);
alert("2222222222");
$('html, body').animate({
scrollTop: scrollDistance
}, 200);
}
$(document).on("click","#scrollMsgDiv", setTimeout(scrollMsgDiv,3000));
function scrollMsgDiv() {
var scrollTop = $(window).scrollTop(),
elementOffset = $('#msgsbytesinpersec').offset().top,
scrollDistance = (scrollTop-elementOffset);
alert("33333333");
$('html, body').animate({
scrollTop: scrollDistance
}, 200);
}
添加jsfiddle链接。
【问题讨论】:
-
我在您的代码中看不到任何问题。您有实时链接供我们测试吗? JSFiddle?
-
我不知道这是否是您的问题,但您的链接将在您的函数被触发之前重定向到
dashboard?offloglag=off&duration=${duration}#offset(在您的 3 秒延迟之后)。 -
不然。重定向后将发生滚动
-
请提供一些实时代码的链接或在您的问题中添加一个片段,以便我们进行测试。
-
去掉 preventDefault() 并在函数jsfiddle.net/chepe263/xknegdnL/2的末尾添加 return true
标签: javascript jquery html function onclick