如何在页面不向上的情况下更新块?

时间:2019-07-28 22:40:09

标签: javascript jquery drupal-8 drupal-modules drupal-views

我在Drupal 8上有一个站点,并使用以下代码更新了块视图:

(function ($, Drupal) {

  'use strict';

  setInterval(function() {
    $('.region-navigation-logo .view-display-id-block_3').trigger('RefreshView');
  }, 10000);

})(jQuery, Drupal);

此代码将更新网站徽标。问题是,如果我向下滚动页面,它会每10秒自动上升一次。

您可以使用:p在我的网站上进行测试

https://www.s1biose.com/fr/user/login

标识符:演示

密码:演示

然后单击该站点的徽标,向下滚动主页并等待10秒钟。您会看到页面每10秒上升一些像素。

更新

以下代码可以工作,但是它适用于网站的所有视图。

我只想将其应用于2个视图:

message_activity_stream_timeline_public

message_activity_stream_timeline_private

如何执行此操作?

function message_activity_stream_ajax_render_alter(array &$data) {
  $view_name = '<view_name>';
  $view_dom_id = '<view_dom_id>';
  $selector = '.js-view-dom-id-' . $view_dom_id;

  foreach ($data as $key => $value) {
    if ($value['command'] === 'viewsScrollTop' && $value['selector'] === $selector) {
      unset ($data[$key]);
      break;
    }
  }
}

如何在2个视图中使用此代码?

enter image description here

0 个答案:

没有答案