Javascript.RU

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

генерация чисел
Прошу поддержки. Есть такой скрипт.
var a = [1,2,3,4,5,6,7];
var i = 0;
function delayedLoop()
{
var b = document.getElementById('block');
b.className = ('active'+a[i])+(' block');
i++;
if(i == a.length) {i = 0}
window.setTimeout(delayedLoop, 15000);
}delayedLoop();
, который генерирует постоянный цикл чисел от 1 до 7 Если запускаю этот скрипт на компе, содав файл html, то всё работает как надо. Если же я загружаю этот скипт на сайт на #block генерируется не active1,2,3,4... а 1,3,5,7,2,4,6. Какая причина может быть? Что не так, или что может мешать процессу?

вот сам адрес где можно увидеть этот процесс https://georgiafriends.ru/ddgg/. Я в примере указал #block, на самом деле #header_bg

Последний раз редактировалось Uthvfy62, 09.05.2024 в 20:49.
Ответить с цитированием
  #2 (permalink)  
Старый 09.05.2024, 20:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,118


Сообщение от Uthvfy62
вот сам адрес где можно увидеть этот процесс https://georgiafriends.ru/ddgg/.
Цитата:
Результаты анализа страницы “https://georgiafriends.ru/ddgg/”
2ip Safe Browsing: Подозрение на вирус!
На сайте обнаружены iframe-вставки, ссылающиеся на сомнительные сайты либо обфусицированный код.
Ответить с цитированием
  #3 (permalink)  
Старый 09.05.2024, 21:16
Интересующийся
Отправить личное сообщение для Uthvfy62 Посмотреть профиль Найти все сообщения от Uthvfy62
 
Регистрация: 09.05.2024
Сообщений: 22

это скорей всего реклама от гугла которую я частично заблокироал. Не подскажите как это обойти? Или что-то иначе.

Последний раз редактировалось Uthvfy62, 09.05.2024 в 21:21.
Ответить с цитированием
  #4 (permalink)  
Старый 09.05.2024, 21:27
Интересующийся
Отправить личное сообщение для Uthvfy62 Посмотреть профиль Найти все сообщения от Uthvfy62
 
Регистрация: 09.05.2024
Сообщений: 22

вы это имеете в виду?
<iframe src="https://w.uptolike.com/widgets/v1/impression.html?1ea92d09c43527572b24fe052f11127b" style="width: 1px; height: 1px; position: absolute; left: -100px; top: 0px; border: none;"></iframe>
Как от этого избавиться, не подскажите?
Ответить с цитированием
  #5 (permalink)  
Старый 09.05.2024, 21:33
Интересующийся
Отправить личное сообщение для Uthvfy62 Посмотреть профиль Найти все сообщения от Uthvfy62
 
Регистрация: 09.05.2024
Сообщений: 22

или же как сделать скрипт устойчивым.
Ответить с цитированием
  #6 (permalink)  
Старый 09.05.2024, 21:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,118

Сообщение от Uthvfy62
или же как сделать скрипт устойчивым.
<!DOCTYPE HTML>
<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">
</head>

<body>
    <div id="block"></div>
    <script>
        let prev = performance.now();
        let delay = 1500;
        let max = 7;
        let block = document.getElementById('block');
        let temp;
        requestAnimationFrame(function measure(time) {
            let i = Math.ceil((time - prev) / delay % max);
            if (i && temp !== i) {
                block.insertAdjacentHTML("beforeEnd", `<b>${i}</b> `);//для проверки
                block.className = `active${i} block`;
                temp = i;
            }
            requestAnimationFrame(measure);

        })
    </script>
</body>

</html>
Ответить с цитированием
  #7 (permalink)  
Старый 10.05.2024, 00:48
Интересующийся
Отправить личное сообщение для Uthvfy62 Посмотреть профиль Найти все сообщения от Uthvfy62
 
Регистрация: 09.05.2024
Сообщений: 22

Рони, спасибо тебе. Но только почему-то первый цикл идёт с опозданием, с задержкой. Появляется первое фото, потом белый экран 1-2 скекунды, потом появляется следующее фото. Потом снова белый экран 1-2 секунды. Это в 1ом цикле, во втором всё хорошо. И последующих.
Ответить с цитированием
  #8 (permalink)  
Старый 10.05.2024, 01:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,118

Uthvfy62,
Сообщение от Uthvfy62
Появляется первое фото, потом белый экран 1-2 скекунды, потом появляется следующее фото.
гуглить предзагрузка изображений js
Ответить с цитированием
  #9 (permalink)  
Старый 11.05.2024, 07:47
Интересующийся
Отправить личное сообщение для Uthvfy62 Посмотреть профиль Найти все сообщения от Uthvfy62
 
Регистрация: 09.05.2024
Сообщений: 22

предзагрузка изображений
я не нашёл ответ на этот вопрос. Видел разные варианты но ни один не помог. Может подскажите что-то толковое.
Ответить с цитированием
  #10 (permalink)  
Старый 11.05.2024, 08:02
Интересующийся
Отправить личное сообщение для Uthvfy62 Посмотреть профиль Найти все сообщения от Uthvfy62
 
Регистрация: 09.05.2024
Сообщений: 22

И ещё к вам вопрос. Я на этом форуме задал ещё один вопрос. "вычислить ширину высоту блока" https://javascript.ru/forum/showthread.php?p=555299 Существует ли ответ на этот вопрос? Причём мне надо подогнать параметры блока именно по бэкграунду. И создавать новое изображение чтоб по нему подгонять параметры блока мне не подходит. Мне изображение там не нужно. Я избавился от картинки для того чтоб снова её туда засунуть? Нелепо получается. Возможно ли обойтись без фото? Вот скрипт который это делает, но подгоняет по созданной катринке, и удалить её невозможно. [html]<style>.block {
display: block;
width: 200px;
height: 200px;
/*background: url('https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_92x30dp.png') no-repeat center center;*/
background-size: auto auto;
}.block img {}</style>
<div id="block" class="block"></div>
<script type="text/javascript">var a = document.getElementById('block');
var img = new Image();
img.src = "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_92x30dp.png";
var b = a.offsetWidth;
var c = a.offsetHeight;
img.onload = function () {
var d = img.offsetWidth;
var e = img.offsetHeight;a.style.width=d;
a.style.height=e;}
a.appendChild(img);</script>[html]
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Генератор случайных чисел без повторений в последующих генерациях Samik Общие вопросы Javascript 14 12.03.2023 00:35
Вот такое задание, но я только в начале пути вэб разработки, подскажите как? Dixlofos Общие вопросы Javascript 31 22.10.2018 01:48
генерация нескольких чисел в сумме равных = 100 lolpops Элементы интерфейса 7 10.10.2015 22:13
Генерация случайных уникальных чисел karakym Общие вопросы Javascript 0 02.10.2015 14:29
генерация чисел и проверка на повтор Javascript jesuspunk Общие вопросы Javascript 7 25.03.2008 15:32