Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2019, 12:54   #1
server_net
Новичок
Джуниор
 
Регистрация: 06.12.2019
Сообщений: 2
По умолчанию alert вызывается 2 раза

Не могу второй день решить проблему, уже писал в разделе jQuery никто не хочет отвечать.

Прошу Вас помогите мне, дочитайте до конца ПРОШУ ВАС.
Я попытаюсь объяснить мою причину детально чтобы Вы могли понять и помочь мне.

1. Есть файл sol.js в ней находится функция solNext()

2.В главном файле index.js я вызываю sol.js с помощью $.getScript() и вызываю функцию solNext();

3.Файл подключается и функция работает, но при прокрутке страницы метод alert() вызывается столько же, сколько раз я прокрутил.

Вот index.js
Код:
$.document.ready(function(){
    $.getScript('sol.js', function(){
        solNext(1);
    });
});
Вот сама функция в файле sol.js
Код:
function solNext(pages) {
    var block = sol_click = false;
    $.post('funct.php',{id: 5, page: pages}).done(function(xhr) {
        if(xhr == null) {
            block = true; return;
        }
        var div_one = '<button class="btn">Проверка</button>';
        $(div_one).appendTo('.block');
 
        $(window).on('scroll', function(){
            if($(window).height() + $(window).scrollTop() >= ($(document).height() -  700) && !block) {
                pages++;
                block = true;
                $.post('funct.php',{id: 5, page: pages}).done(function(xhr) {
                    if(xhr == null) {
                        block = true; return;
                    }
                    var div_one = '<button class="btn">Проверка</button>';
                    $(div_one).appendTo('.block');
                    block = false;
                    sol_click = true;
                    $('.btn').on('click', function(){
                        if(sol_click == true) {
                            alert(1);
                        }
                    });
                }
            } //if
        });
 
        sol_click = false;
        $('.btn').on('click', function(){
            if(sol_click == false) {
                 alert(1);
            }
        });
    });
}
Мне нужно сделать так чтобы при скролинге alert(1) вызывался при нажатии только один раз, а не множество раз


Кому лень смотреть функцию и понимать его объясняю

1.Задача функции отправлять запрос на сервер и брать оттуда данные и при прокрутке также совершать запросы.

2.Внутри функции есть событие при нажатии

3.В функцию передается параметр которая при прокрутке увеличивается pages

4.Внутри функции есть 2 переменных block, sol_click.
block - отвечает за остановку прокрутки есть ли сервер прислал null
sol_next - отвечает чтобы при скролинге alert вызывался один раз , но однако не помогает
server_net вне форума Ответить с цитированием
Старый 06.12.2019, 13:50   #2
server_net
Новичок
Джуниор
 
Регистрация: 06.12.2019
Сообщений: 2
По умолчанию

Никто в течении часа не ответил, можете закрыть тему я нашел решение.

Практика сделает из обезьяны человека.

А молодым начинающим программистам хочу дать совет, не ищите на этом сайте помощь, практикуйтесь и пытайтесь найти решение сами, и у меня получилось.
server_net вне форума Ответить с цитированием
Старый 06.12.2019, 16:30   #3
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

Цитата:
Сообщение от server_net Посмотреть сообщение
Никто в течении часа не ответил, можете закрыть тему я нашел решение.
Нашёл решение - опубликуй
Alar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие OnData у Virtual ListView вызывается два раза для одного Item'a romanp77777 Общие вопросы Delphi 0 07.11.2019 16:36
alert в php ? s88s PHP 2 22.03.2015 19:47
Клик вне alert? KoBaL JavaScript, Ajax 6 11.02.2014 16:20
Почему деструктор вызывается два раза? 220Volt Общие вопросы C/C++ 18 09.01.2014 21:55
Alert и куки Fox JavaScript, Ajax 0 02.11.2006 23:16