Jquery замораживание на шоу ()

0

Может ли кто-нибудь сказать мне, если я сумасшедший или где я ошибаюсь. Я пробовал это в нескольких браузерах, и он зависает jQuery, когда вы показываете().

Я не могу понять это, я пробовал несколько способов скручивания кода, и независимо от того, когда вызывается.show(), он зависает и не будет работать, пока страница не будет перезагружена.

Цель состоит в том, чтобы показать несколько разных параметров, и если пользователь нажимает кнопку и платный вариант показывает дополнительную информацию. THE CRAZY THING - когда вы удаляете большую часть li, он отлично работает. НО, когда вы добавляете li обратно на страницу, это не работает. Он работает для 2 или 3 кликов, затем зависает. Firebug не показывает ошибок, просто ничего не делает. Интересно, что jquery на остальной части страницы все еще работает, когда часть опции заморожена. Я был бы признателен за любые конструктивные идеи. Благодарю!

НЕ РАБОТАЕТ joopk.com/signup РАБОТЫ //////////////////////////////////////////////

$(document).ready(function () {
   $("#signupoptions .signupoption").click(clickedoption);
});
function clickedoption() {
  if ($(this).hasClass("payoption")) {
    $("#signupadditionalinfo").show();
  }else {
    $("#signupadditionalinfo").hide();
  }
   $("#signupoptions .signupoption").removeClass("optionselected");
   $(this).addClass("optionselected");
}

Я кратко изложил детали, но общий html выглядит следующим образом:

 <div id="signupoptions">
                            <div id="signupoptiondescription">
                                <ul>
                                    <li>Joopk.com CMS</li>
                                </ul>
                            </div>
                            <div id="signupoptionsocial" class="signupoption optionselected">
                                <h3>
                                    Social</h3>
                                <ul>
                                    <li class="check"></li>
                                </ul>
                            </div>
                            <div id="signupoptionbusiness" class="signupoption payoption">
                                <h3>
                                    Business</h3>
                                <ul>
                                    <li class="check"></li>
                                </ul>
                            </div>
                            <div id="signupoptiondeveloper" class="signupoption payoption">
                                <h3>
                                    Developer</h3>
                                <ul>
                                    <li class="check"></li>
                                </ul>
                            </div>
                            <div class="clear">
                            </div>
                        </div>
                        <div id="signupadditionalinfo" class="container" style="display: none;">
                            <h3>
                                Additional Information</h3>

                        </div>
Теги:
function
freeze

1 ответ

1

Логика щелчка была выключена... См. Мою скрипку: http://jsfiddle.net/sablefoste/3JMA9/1/

В принципе, посмотрите на jQuery:

$(document).ready(function () {
    $("#signupoptions .signupoption").click(function(){
        clickedoption($(this).attr('class'));
    });
});

function clickedoption(myclass) {
    if (myclass.indexOf("payoption") !== -1) {
        $("#signupadditionalinfo").show();
    } else {
        $("#signupadditionalinfo").hide();
    }
    $("#signupoptions .signupoption").removeClass("optionselected");
    $(this).addClass("optionselected");
}

CSS поможет вам понять, что происходит.

  • 0
    Я ценю помощь! Это определенно работает. Я +1 тебе, но не могу, пока не получу 15 повторений. Но на самом деле, спасибо! Я провел последние 4 часа, пытаясь найти причину. Для учебных целей.
  • 0
    Единственный вопрос, который у меня есть, не является ли hasClass ("payoption") по сути тем же, что и передача класса и проверка, равен ли индекс -1?
Показать ещё 3 комментария

Ещё вопросы

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