Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.05.2018, 07:37
Профессор
Отправить личное сообщение для s24344 Посмотреть профиль Найти все сообщения от s24344
 
Регистрация: 12.08.2015
Сообщений: 206

Эффект blur при scroll для background
Здравствуйте. Подскажите пожалуйста ответ на следующий вопрос. Применил на следующем сайте:
http://parus-water.ru/
эффект blur при scroll для background

class blurModule {

  constructor() {
    this.el = $('.main__slide');
    this.scroll = $(window).scrollTop();
  }


  handler () {
    // console.log(this.el);

    const w = $(window).outerWidth(true);

    const size = 1024;

    if ( w > 1024 ) {
      $(window).on('scroll', function () {

        let scroll = $(window).scrollTop();

        // console.log(scroll);

        $('.main__slide').css({
          filter: "blur(" + (scroll/60) + "px)"
        })
      })
    }
  }

  init () {
    this.handler();
  }

}

/* class blurModule {

  constructor() {
    this.el = document.querySelector('.main__slide');
  }

  handler () {
    const html = document.documentElement;
    const body = document.body;

    // let el = document.querySelector('.main__slide');
    // console.log(el);
    // console.log(this.el);

    let el = this.el;

    let w = window.innerWidth;

    if ( w > 1024 ) {
      window.onscroll = function () {
        var scrollTop = html.scrollTop || body && body.scrollTop || 0;
        scrollTop -= html.clientTop; // в IE7- <html> смещён относительно (0,0)

        el.style.filter = "blur(" + (scrollTop/50) + "px)";
      }
    } else {
      false
    }
  }

  init () {
    this.handler();
  }
} */

let blurmodule = new blurModule();

blurmodule.init();


В итоге в браузерах на базе Chromium при первой загрузке данный эффект подтормаживает страницу. Если кто-нибудь сталкивался, подскажите пожалуйста как решить данную проблему.
Ответить с цитированием
  #2 (permalink)  
Старый 26.05.2018, 07:54
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сталкивался, уменьшил немного интенсивность размытия, стал залипать меньше, в мобильных браузерах все еще более плачевно . Блур ресурсоемкий.
Ответить с цитированием
  #3 (permalink)  
Старый 26.05.2018, 09:21
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

s24344,
что-то класс тут не в тему, в jquery такой паттерн-плагин https://learn.jquery.com/plugins/basic-plugin-creation/
$.fn.myNewPlugin = function() {
 
    return this.each(function() {
        // Do something to each element here.
    });
 
};

$('selector').myNewPlugin();
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изображение background при выводе на печать MC-XOBAHCK (X)HTML/CSS 2 04.05.2018 16:53
общий массив объектов для двух контроллерах при маршрутизации fenek Angular.js 4 09.08.2017 18:29
Помогите с рандомными значениями злобная_пипа Элементы интерфейса 6 02.10.2015 20:11
Правила для всплывающего окна при уходе со страницы. sheneman Общие вопросы Javascript 7 22.09.2015 15:23
Как при наведении на родительский элемент "вкл" стили :hover::before для дочернего? Gera Herbst Events/DOM/Window 4 30.08.2015 14:41