Перевод wordpress из LTR в RTL фиксим сьехавшие блоки

Рубрика: wordpress, Дата: 22 July, 2017, Автор:

Перевод wordpress из LTR в RTL бывает баки. у меня был баг некоторые блоки были сьехвавшими. Появляется между ними пустое пространстрво.

Скрин.

Перевод wordpress из LTR в RTL

Такое нужно фиксить.

Фиксим сьехавший блок из ltr в rtl

Исследовав css там видно что это происходит из за свойства left в моем случае. Возможно у кого то будет другая причина.  У меня генерируется свойство left с минусовым значением. Если мы меняем left на right с этим же минусовым значением то все нормально или если мы делаем left с плюсом тоже нормлаьно. Для этого мы используем jQuery . Просто прописать свойства не катит, потому что это генерируется автоматом. Мы например размер экрана меняем и меняется эти свойства.

Код который фиксит баг ltr to rtl

  setTimeout(function(){
    $('.vc_row[data-vc-full-width]').each(function(index, el) {
      $(this).css('right', $(this).css('left') );
    });
    console.log('here');
  },0);
  
  

  $( window ).resize(function() {
    setTimeout(function(){
      $('.vc_row[data-vc-full-width]').each(function(index, el) {
        $(this).css('right', $(this).css('left') );
      });
    },0);
  });

Описание кода который фиксит переход wordpress из LTR в RTL  баг

Просто берем значение left и заменяем добавляем значение к блоку right с тем минусовым значением.

Тут мы используем setTimeOut потому что если без него у нас получается наша функция сразабывает раньше чем функция которая негерирует эти размеры. То есть наша функция сработала первой и потом следом функция которая в коде темы создает эти реальные минусовые размеры и у нас получается наша функция добавляет right с некоректным значением. Поэтому setTimeOut 0 даже при такой задержке наша функция работает последней.

Вывод

Ну короче просто нужно исследовать код и смотреть что в вашем варианте не так. Я читал что то баг визуал компоусера да и вообще в интернете такого не очень много  описано на эту тему.

Короче используем javascritp для фикса таких багов

 

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *