JQuery не работает с более чем 1 функцией

0

Я создал функцию щелчка на странице ASPX, которая работала нормально, когда я переместил код на свой сайт.master, у которого есть существующая функция запроса J, он, похоже, не работает.

это моя функция запроса J, которую я создал:

var scrolled = 0;
$(document).ready(function () {
    try {
        $("#downClick").on("click", function () {
            scrolled = scrolled + 235;

            $(".cover").stop().animate({
                scrollTop: scrolled
            });

        });
        $("#upClick").on("click", function () {
            scrolled = scrolled - 235;

            $(".cover").stop().animate({
                scrollTop: scrolled
            });

        });
        $(".clearValue").on("click", function () {
            scrolled = 0;
        });
    } catch (e) { }
});

Однако, когда я попытался добавить это на свой основной сайт, в site.master он просто обновляет страницу, когда я нажимаю больше буклетов.

Очевидно, что код работает, но что-то в site.master делает обновление страницы.

У меня есть другая функция запроса J в файле site.master, который, как я думаю, может вызвать следующее:

$(document).ready(function () {
    try {
        $('.slider1').bxSlider({
            slideWidth: 960,
            captions: true,
            auto: true,
            autoControls: true
        });
    } catch (e) { }
});

Это слайдер на странице, но с добавленным предыдущим кодом он не работает.

Любые идеи, почему первый код не работает на моей главной странице, я принимаю его за то, что три функции Jquery, но все еще не уверены, почему он обновляется. Любая помощь приветствуется.

  • 1
    Примечание. Ваша первая попытка / отлов находится вне обработчиков событий, поэтому он ничего не делает, кроме как проверяет, что события были зарегистрированы без ошибок . Не очень полезно, так как это вряд ли приведет к ошибке в то время. Поместите try ловит фактический код внутри обратных вызовов.

1 ответ

2
Лучший ответ

Вы используете кнопки внутри формы; кнопка вызывает обратную передачу. Совершенно нормально.

Вместо этого используйте input button типа. Перепишите:

<button id="downClick">More Booklets</button>

Чтобы он читал:

<input id="downClick" type="button" value="More Booklets" />

Селекторы jQuery основаны на идентификаторе, поэтому он по-прежнему будет обрабатывать события кликов, как и следовало ожидать.

  • 0
    Вы также можете использовать <button> с атрибутом type="button" , смотрите это
  • 0
    Большое вам спасибо, это помогло! работает сейчас! Я бы никогда не догадался об этом!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню