PageSourceSearch

https://gdz-raketa.ru/js/scripts.js

js gdz-raketa.ru collected 2026-09-24 20:28:33 UTC 8,058 bytes, 177 lines download raw bytes

1$(document).ready(function () {
2    function saveRating(rating) {
3        $.post('/test/save_rating.php', {rating: rating, path: window.location.pathname}, function (data) {
4            if (data.success) {
5                $('.sres').html(data.sres);
6            } else {
7                if (data.error != 4) {
8                    console.log(data);
9                }
10            }
11        }, "json");
12    }
13
14
15    $('.star').click(function () {
16        if (!$(this).parent().hasClass('voted')) {
17            let rating = $(this).index() + 1; // Получаем номер звезды (от 1 до 5)
18            $('.star').removeClass('active'); // Сбрасываем активные звёзды
19            if ($(this).parent().hasClass('rating')) {
20                $(this).prevAll('.star').addBack().addClass('active'); // Заполняем звёзды до выбранной
21                saveRating(rating); // Это функция сохранения рейтинга на файл сервера.
22            }
23        }
24    });
25
26    // Сообщение об ошибке в телеграм бот
27    // $('#form-contact').on('submit', function (e) {
28    //     e.preventDefault();  // Предотвращаем стандартное поведение формы (перезагрузку страницы)
29    //     $('button')
30    //     $.ajax({
31    //         url: '/new-send-message-to-telegram.php',  // Ссылка на ваш серверный обработчик
32    //         type: 'POST',  // Метод отправки данных
33    //         data: new FormData(this),  // Данные формы. FormData поддерживает отправку файлов.
34    //         contentType: false,  // Необходимо для правильной обработки данных формы
35    //         processData: false,  // Необходимо для правильной обработки данных формы
36    //         success: function (response) {
37    //             // функция, которая будет вызвана в случае успешной отправки данных
38    //             console.log(response);  // Вывод ответа сервера в консоль
39    //             $('.contact-form__message').text('Ваша форма успешно отправлена.');  // Вывод ответа на странице
40    //         },
41    //         error: function (response) {
42    //             // функция, которая будет вызвана в случае ошибки
43    //             console.log('Ошибка при отправке формы: ', response);
44    //             $('.contact-form__message').text('Ошибка при отправке формы.');
45    //         }
46    //     });
47    // });
48
49
50    // На всякий случай чтобы точно ничего не отправилось повторно сделаем переменную для проверки
51    let formdisable = false;
52
53    $(".contact-form").submit(function (event) {
54        event.preventDefault();
55
56        // Дизейблим форму, чтобы не отправилось повторно
57        $(".contact-form").prop("disabled", true);
58
59        // Проверяем нашу переменную отправлялось ли ранее
60        if(!formdisable){
61            // обновляем переменую чтобы не отправилось повторно
62            formdisable = true;
63            // Сообщения формы
64            let successSendText = "Сообщение успешно отправлено";
65            let errorSendText = "Сообщение не отправлено. Перезагрузите страницу и попробуйте еще раз!";
66            let requiredFieldsText = "Оставьте комментарий к ошибке";
67
68            // Сохраняем в переменную класс с параграфом для вывода сообщений об отправке
69            let message = $('#ModalWindow').find(".contact-form__message");
70
71            let form = $("#" + $(this).attr("id"))[0];
72            let fd = new FormData(form);
73            $.ajax({
74                url: "/send-message-to-telegram.php",
75                type: "POST",
76                data: fd,
77                processData: false,
78                contentType: false,
79                beforeSend: () => {
80                    $(".preloader").addClass("preloader_active");
81                },
82                success: function success(res) {
83                    $(".preloader").removeClass("preloader_active");
84
85                    // Посмотреть на статус ответа, если ошибка
86                    // console.log(res);
87                    let respond = $.parseJSON(res);
88
89                    if (respond === "SUCCESS") {
90                        $('#form-contact').hide();
91                        $('.contact-form__image').show();
92                        /*lilka*/
93                        // $('form#form-contact textarea').html('');
94                        // $('form#form-contact textarea').val('');
95                        // $('form#form-contact textarea').text('');
96                        // location.href = '#ModalWindowSuccess';
97
98                        message.text(successSendText);
99                        // setTimeout(() => {
100                        //     message.text("");
101                        //
102                        //
103                        //     // location.href = '#ModalWindowClose';
104                        //
105                        //
106                        // }, 4000);
107                        /*lilka*/
108
109                    } else if (respond === "NOTVALID") {
110                        message.text(requiredFieldsText).css("color", "#d42121");
111                        setTimeout(() => {
112                            message.text("");
113                        }, 3000);
114                    } else {
115                        message.text(errorSendText).css("color", "#d42121");
116                        setTimeout(() => {
117                            message.text("");
118                        }, 4000);
119                    }
120                }
121            });
122        }
123    });
124
125
126
127    $('.fraction').each(function(key, value) {
128        $this = $(this)
129        var split = $this.html().split("/")
130        if( split.length == 2 ){
131            $this.html('<span class="top">'+split[0]+'</span><span class="bottom">'+split[1]+'</span>')
132        }    
133    });
134
135
136
137    $(document).on('change', '.filter-catalog__select.select.select--subject', function (e) {
138        e.preventDefault();
139        let subject = $('.filter-catalog__select.select.select--subject').val()
140        let grade = $('.filter-catalog__select.select.select--grade').val()
141        $(`.products-catalog__row.row .products-catalog__col`).fadeOut(300);
142        setTimeout(function () {
143            if (grade) {
144                $(`.products-catalog__row.row .products-catalog__col[data-subject="${subject}"][data-grade="${grade}"]`).fadeIn();
145            } else {
146                $(`.products-catalog__row.row .products-catalog__col[data-subject="${subject}"]`).fadeIn();
147            }
148        }, 300)
149    })
150    $(document).on('change', '.filter-catalog__select.select.select--grade', function (e) {
151        e.preventDefault();
152        let subject = $('.filter-catalog__select.select.select--subject').val()
153        let grade = $('.filter-catalog__select.select.select--grade').val()
154
155        $(`.products-catalog__row.row .products-catalog__col`).fadeOut(300);
156        setTimeout(function () {
157            if (subject) {
158                $(`.products-catalog__row.row .products-catalog__col[data-grade="${grade}"][data-subject="${subject}"]`).fadeIn();
159            } else {
160                $(`.products-catalog__row.row .products-catalog__col[data-grade="${grade}"]`).fadeIn();
161            }
162        }, 300)
163
164
165    })
166
167
168
169
170
171
172
173    
174
175});
176
177

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.