【发布时间】:2017-07-19 12:46:17
【问题描述】:
所以我有一个 amcharts 图表,当我点击图表中的一个条形时,它旁边的一个 div 会从条形滚动到该数据。我的问题是当我在第一次到达顶部或有时是随机位置后随时单击。我希望能够在单击时滚动到每条数据。
这是我的 scrollTo 方法代码:
"listeners": [{
"event": "clickGraphItem",
"method": function (event) {
var buildNumber = event.item.category;
var id = '#buildNumber' + buildNumber;
var buildFailureObject = $('#buildNumber' + buildNumber);
$('#infodiv').animate({ scrollTop: $(buildFailureObject).position().top - 20 }, 2000);
}
}]
信息 div 是滚动发生的地方。澄清一下,第一次点击有效并带我到“buildFailureObject”,但接下来的点击要么带我回到 infodiv 的顶部,要么有时是随机靠近的地方。
我查看了与我的问题接近的问题,preventDefault 没有帮助我,也没有返回 false。
感谢您提供的任何帮助。
【问题讨论】:
-
滚动到“随机”位置的事实让我相信随着事件发送的数据可能有问题。你有
console.log()edevent和/或event.item对象吗? -
能否请您发布代码,以便我验证问题出在哪里
-
您必须先获取对象的滚动高度,然后您必须滚动到如下所示: $('#infodiv').animate({ scrollTop: $(buildFailureObject.scrollHeight - 20 }, 2000);
-
@giorgio 是的,我有,而且数据是正确的。
-
@brijrajsinh 所以没有 .position() 了吗?
标签: javascript jquery amcharts scrolltop