2017-07-19 107 views
0

所以我有一個amcharts圖,當我點擊圖中的一個條時,它旁邊的一個div滾動到條上的數據。我的問題是,當我第一次進入頂部或有時是隨機位置後,隨時點擊。我希望能夠點擊時滾動到每一條數據。scrollTop只適用於第一次點擊

這是我的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並沒有幫助我,也沒有返回錯誤。

感謝您提供任何幫助。

+0

滾動到「隨機」位置這一事實讓我相信隨着事件發送的數據可能會出現問題。你有'console.log()'編輯'event'和/或'event.item'對象嗎? – giorgio

+0

你可以請帖子的代碼,所以我可以驗證它的問題 – Jackson

+0

你必須首先獲得對象的scrollheight然後你必須滾動,直到如下給出: $('#infodiv')。animate({scrollTop:$ (buildFailureObject.scrollHeight - 20},2000); – brijrajsinh

回答

0

好了,所以我想出了答案,我需要這樣的:

$( '#infodiv')動畫({scrollTop的:($( '#infodiv')scrollTop的()+ $(buildFailureObject) .position()。top -20)},2000);

相關問題