2017-03-02 7 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オブジェクトでのみ利用可能であり、また2 PARAMATERSを受け入れます。 xおよびy位である。

これを修正するには、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

その作業、しかし、2つの時間のプレスをクリックする必要があります、単一のクリックだけタブを開く(トリガーをクリックして起動)2回目の関数呼び出しその時間(Scrolll)適切な位置に移動、 – Monarch1

+0

私はそれが起こるのを見たことがありません。上記のバイエルの例を修正してその動作を表示できますか? –

+0

私はプロトタイプjsを使用していて、すべてのスクリプトは – Monarch1

関連する問題