Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.10.2019, 23:18
Новичок на форуме
Отправить личное сообщение для Staurus Посмотреть профиль Найти все сообщения от Staurus
 
Регистрация: 23.10.2019
Сообщений: 4

Оптимизировать код. Помогите!
Добрый вечер. Помогите пожалуйста оптимизировать код, чтобы он работал быстрее и не загружался при window.onload, а работал сразу или синхронно с загрузкой страницы. Пробовал вставить DOMContentLoaded но скрипт перестает работать.

<script>window.onload=function(){var t=0;$(".attach_copy").each(function(){t+=1,1==t?(attach=$(this).clone().html(),attach=$("<div/>").attr("class","attach_copies").html(attach),$(".attach_new").append(attach).append("<br/>")):(attach=$(this).clone().html().replace("download.png","download-old.png"),attach=$("<div/>").attr("class","attach_copies").html(attach),$(".attach_old").append(attach).append("<br/>")),$(this).next("br").eq(0).remove(),$(this).remove()}),1==t?$(".attach_old").hide():0==t&&$(".attach_old, .attach_new").hide()};</script>
Ответить с цитированием
  #2 (permalink)  
Старый 24.10.2019, 04:11
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Очередные шифры? Кстати, жуквери не нужно, как и var. Добаыьте мутационный обсервер в начало страницы и теките от того, что сразу знаешь, что вставляетя

MutationObserver ищи в гугле и на мдн и в учебнике ильи
Ответить с цитированием
  #3 (permalink)  
Старый 24.10.2019, 08:43
Новичок на форуме
Отправить личное сообщение для Staurus Посмотреть профиль Найти все сообщения от Staurus
 
Регистрация: 23.10.2019
Сообщений: 4

Слишком сложно =)
Ответить с цитированием
  #4 (permalink)  
Старый 24.10.2019, 10:05
Новичок на форуме
Отправить личное сообщение для Staurus Посмотреть профиль Найти все сообщения от Staurus
 
Регистрация: 23.10.2019
Сообщений: 4

Сообщение от Malleys Посмотреть сообщение
Очередные шифры? Кстати, жуквери не нужно, как и var. Добаыьте мутационный обсервер в начало страницы и теките от того, что сразу знаешь, что вставляетя

MutationObserver ищи в гугле и на мдн и в учебнике ильи
Этот скрипт проверяет есть ли файлы в статье.
Если больше 1, то делает второй стиль для остальных файлов после первого. Если нет - то 1 стиль для 1 файла, для остальных убирает.
Если совсем нет файлов - нет отображения.

пример

И получается пока не прогрузится реклама, скрипт не хочет работать. А я хочу, чтобы он сразу работал не дожидаясь загрузки окна.

Последний раз редактировалось Staurus, 24.10.2019 в 10:08.
Ответить с цитированием
  #5 (permalink)  
Старый 24.10.2019, 10:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,115

Сообщение от Staurus
Пробовал вставить DOMContentLoaded
<script>
$(function() {
var t=0;$(".attach_copy").each(function(){t+=1,1==t?(attach=$(this).clone().html(),attach=$("<div/>").attr("class","attach_copies").html(attach),$(".attach_new").append(attach).append("<br/>")):(attach=$(this).clone().html().replace("download.png","download-old.png"),attach=$("<div/>").attr("class","attach_copies").html(attach),$(".attach_old").append(attach).append("<br/>")),$(this).next("br").eq(0).remove(),$(this).remove()}),1==t?$(".attach_old").hide():0==t&&$(".attach_old, .attach_new").hide()});</script>

ставить после загрузки jquery, сразу.

Последний раз редактировалось рони, 24.10.2019 в 10:26.
Ответить с цитированием
  #6 (permalink)  
Старый 24.10.2019, 11:40
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от рони
var t=0;
Видимо два разных человека писали.

Вот, потрансформировал простыню...
$(function(){var a=$(".attach_copy");a.each(function(a,d){var c=$(d),b=c.clone().html(),e=$("<div class='attach_copies'/>");0!==a&&(b=b.replace("download.png","download-old.png"));$(".attach_"+(0===a?"new":"old")).append(e.html(b),"<br/>");c.next("br:eq(0)").remove().end().remove()});$([".attach_old",".attach_new"].slice(0,Math.max(0,2-a.length)).join(",")).hide()});
Ответить с цитированием
  #7 (permalink)  
Старый 24.10.2019, 14:18
Новичок на форуме
Отправить личное сообщение для Staurus Посмотреть профиль Найти все сообщения от Staurus
 
Регистрация: 23.10.2019
Сообщений: 4

Сообщение от Malleys Посмотреть сообщение
Видимо два разных человека писали.

Вот, потрансформировал простыню...
$(function(){var a=$(".attach_copy");a.each(function(a,d){var c=$(d),b=c.clone().html(),e=$("<div class='attach_copies'/>");0!==a&&(b=b.replace("download.png","download-old.png"));$(".attach_"+(0===a?"new":"old")).append(e.html(b),"<br/>");c.next("br:eq(0)").remove().end().remove()});$([".attach_old",".attach_new"].slice(0,Math.max(0,2-a.length)).join(",")).hide()});
Тысячу в карму! Прекрасно, именно то что и хотел.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить код слайдшоу. 47rus Общие вопросы Javascript 0 20.03.2016 18:43
Ребятки помогите найти код, который отвечает за стиль z-index kyivprogs Библиотеки/Тулкиты/Фреймворки 0 08.12.2015 14:15
Выпадающие списки. Помогите подправить код. cardsmoney Элементы интерфейса 6 18.02.2011 16:20
Код калькулятора на JS. помогите с ошибкой! kirill.psl Общие вопросы Javascript 9 26.08.2010 11:38
Помогите оптимизировать код. pizzZ jQuery 5 17.11.2009 23:52