2017-03-02 75 views
1

我在功能中使用$$('.em-details-tabs')[0].scrollTo();,然後使用$$('DIVELEMENT')[0].click();觸發點擊。點擊功能成功執行,但滾動到特定元素失敗。這裏是我的代碼片段:觸發點擊後滾動不起作用

$$('a[href="#' + tab_id + '"]')[0].triggerEvent('click'); 
$$('.em-details-tabs')[0].scrollTo(); 

回答

0

scrollTo()元素只是window對象上可用,它也接受兩個PARAMATERS; xy職位。

要解決這個問題,你可以在window上使用jQuery的scrollTop()方法,併爲它提供所需元素的y位置。試試這個:

$$('a[href="#' + tab_id + '"]')[0].triggerEvent('click'); 
$$(window).scrollTop($$('.em-details-tabs').offset().top); 

Working Example

另外,您可以修改這個邏輯,使滾動動畫讓你的用戶的影響是顯而易見的:

$$('html, body').animate({ 
    scrollTop: $$('.em-details-tabs').offset().top 
}, 500); 

Working Example

+0

它的工作,但需要兩次按下鼠標點擊,單擊單擊選項卡打開(點擊觸發點擊)第二次功能調用時間移動(Scrolll)到適當的位置, – Monarch1

+0

我還沒有看到發生。你可以修改上面的小提琴示例來顯示該行爲 –

+0

我正在使用原型js,並且所有腳本都是 – Monarch1