23.10.2019, 23:18
|
Новичок на форуме
|
|
Регистрация: 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>
|
|
24.10.2019, 04:11
|
|
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Очередные шифры? Кстати, жуквери не нужно, как и var. Добаыьте мутационный обсервер в начало страницы и теките от того, что сразу знаешь, что вставляетя
MutationObserver ищи в гугле и на мдн и в учебнике ильи
|
|
24.10.2019, 08:43
|
Новичок на форуме
|
|
Регистрация: 23.10.2019
Сообщений: 4
|
|
Слишком сложно =)
|
|
24.10.2019, 10:05
|
Новичок на форуме
|
|
Регистрация: 23.10.2019
Сообщений: 4
|
|
Сообщение от Malleys
|
Очередные шифры? Кстати, жуквери не нужно, как и var. Добаыьте мутационный обсервер в начало страницы и теките от того, что сразу знаешь, что вставляетя
MutationObserver ищи в гугле и на мдн и в учебнике ильи
|
Этот скрипт проверяет есть ли файлы в статье.
Если больше 1, то делает второй стиль для остальных файлов после первого. Если нет - то 1 стиль для 1 файла, для остальных убирает.
Если совсем нет файлов - нет отображения.
пример
И получается пока не прогрузится реклама, скрипт не хочет работать. А я хочу, чтобы он сразу работал не дожидаясь загрузки окна.
Последний раз редактировалось Staurus, 24.10.2019 в 10:08.
|
|
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.
|
|
24.10.2019, 11:40
|
|
Профессор
|
|
Регистрация: 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()});
|
|
24.10.2019, 14:18
|
Новичок на форуме
|
|
Регистрация: 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()});
|
Тысячу в карму! Прекрасно, именно то что и хотел.
|
|
|
|