Показать сообщение отдельно
  #27 (permalink)  
Старый 27.07.2023, 00:32
Интересующийся
Отправить личное сообщение для sayman100 Посмотреть профиль Найти все сообщения от sayman100
 
Регистрация: 21.07.2023
Сообщений: 13

Объединение скриптов
Немного не то, тут скрипт автоматически срабатывает через 5 сек, мне это не нужно, мне нужно что бы весь скрипт загружался последним, сначала весь сайт загрузился, а только потом этот скрипт! Функция window.onload = function() {}; на других скриптах работает отлично, но не с этим, на этом не работает, скрипт грузится одновременно со всем сайтом. Дело в том, что у меня к кнопке данного скрипта привязан другой скрипт, который отвечает за количество нажатий на кнопку и он хранит количество нажатий в кеше, в итоге при обновлении страницы сайта, кнопка подгружает из кеша данные о количестве нажатий и если лимит нажатий исчерпан, кнопка подгружает сохраненные данные и в этот момент нажимается сама вызывая тем самым прокрутку скрипта выше.
Ниже прикреплю скрипт самой кнопки, подскажите как их грамотно объединить
<!DOCTYPE html>
<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
    </style>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script>
        $(function() {
            $.fn.Timer = function Timer(obj) {
                var def = {
                    from: 5E3,
                    duration: 5E3,
                    to: 0,
                    callback: null,
                    step: function(now, fx) {
                        $(fx.elem).html(now | 0)
                    }
                };
                var opt = $.extend({}, def, obj);
                return this.each(function(indx, el) {
                    $(el).queue(function() {
                        el.n = opt.from;
                        $(el).dequeue()
                    });
                    $(el).animate({
                        n: opt.to
                    }, {
                        easing: "linear",
                        duration: opt.duration,
                        step: opt.step,
                        complete: opt.callback
                    })
                })
            };
            var end66 = +localStorage.getItem("end66") || 0,
                duration = 10 * 1E3;
            var num66 = +localStorage.getItem("num66") || 0;
            var max = 10;

            $("#send_sms").on("click", function(event) {
                num66++;
                localStorage.setItem("num66", num66);
                this.textContent = `КРУТИТЬ РУЛЕТКУ ОСТАЛОСЬ ${max - num66}`;
                if (num66 < max) return;
                var time = (new Date).getTime(),
                    d = duration;
                if (end66 && end66 > time) {
                    event.stopPropagation();
                    d = end66 - time;
                } else {
                    localStorage.setItem("end66", time + duration);
                }
                var f = d / 1000 | 0;
                var text = this.defaultValue;
                $(this).prop({
                    disabled: true
                }).Timer({
                    step: function(now, fx) {
                        var a = Math.trunc(now);
                        var b = ['секунда', 'секунды', 'секунд'];
                        a = `${a} ${b[1 == a % 10 && 11 != a % 100 ? 0 : 2 <= a % 10 && 4 >= a % 10 && (10 > a % 100 || 20 <= a % 100) ? 1 : 2]}`;
                           fx.elem.textContent = `ЛИМИТ ЗАКОНЧИЛСЯ`;


                    },
                    from: f,
                    duration: d,
                    to: 0,
                    callback: function() {
                        localStorage.setItem("end66", "0");
                        localStorage.setItem("num66", "0");
                        num66 = 0;
                        $(this).prop({
                            disabled: false
                        }).text("КРУТИТЬ РУЛЕТКУ");
                    }
                })
            })
            if (end66) $("#send_sms").click();

        });
    </script>


</head>

<body>
    
<button class="button" id="send_sms" name="send_sms" type="button" onclick='LetsGo()'>Старт</button>
</body>

</html>
Ответить с цитированием