Перезагрузить страницу, чтобы показать вставленные элементы пользовательского интерфейса jQuery?

0

Я пишу плагин jQuery, чтобы играть в простую игру. Игра вставляет все необходимые html в div, где он вызывается, и связывает его лист css с головой. Проблема, с которой я сталкиваюсь, заключается в том, что если я вызову location.reload после инъекции, она обновит страницу до того, как я добавлю HTML. Если я не назову его, появится все, кроме моего слайдера jQuery UI. Как перезагрузить только эти слайдеры, чтобы они отображались после того, как я их ввел? (Все работает отлично, если я просто вставляю HTML в тело тестового HTML файла - единственная проблема заключается в том, когда я динамически добавляю его, когда они нажимают кнопку.)

В соответствии с запросом, вот некоторые из кода, который я использую для этого://Загрузите HTML и CSS. $ ("head"). append (''); $ ( "Тело") добавить ( '');. $ ( "# Загружает кнопку") удалить();

    $("#game").append(
        "<!-- Generated Swatch-->\n" +
        "<div id='generatedSwatch' class ='ui-widget-content ui-corner-all'></div> </br>\n" +
        "<!-- Score -->\n" +
        "<p id='score'>Score: 0</p>\n" +
        "<!-- Sliders -->\n" +
        "<div class='slider-row'>\n" +
        "    <div id='red'></div>\n" +
        "    <input type='text' id='rval' class='input-box'></input> </br>\n" +
        "</div>\n" +
        "<div class='slider-row'>\n" +
        "    <div id='green'></div>\n" +
        "    <input type='text' id='gval' class='input-box'></input> </br>\n" +
        "</div>\n" +
        "<div class='slider-row'>\n" +
        "    <div id='blue'></div>\n" +
        "    <input type='text' id='bval' class='input-box'></input> </br>\n" +
        "</div>\n" +
        "<!-- Got It Button -->\n" +
        "<button id='got-it' onclick='calculateScore()' class='button'>Got It</button>\n" +
        "<!-- Picked Swatch -->\n" +
        "<div id='pickedSwatch' class='ui-widget-content ui-corner-all'></div>\n" +
        "<!-- Percent Error -->\n" +
        "<p id='error'>Percent Error: </p>\n" +
        "<!-- Next Button -->\n" +
        "<button id='next' onclick='generateSwatch()' class='button'>Next</button>\n" +
        "<!-- Game Over Message -->\n" +
        "<p id='game-over'>Game Over</p>\n" +
        "<!-- Play Again -->\n" +
        "<button id='play-again' onclick='playAgain()' class='button'>Play Again</button>"
    );

    // Hide Elements.
    $("#pickedSwatch").hide();
    $("#error").hide();
    $("#next").hide();
    $("#game-over").hide();
    $("#play-again").hide();

    // Make Sliders Work
    $("#red,#green,#blue").slider(
    {
        orientation: "horizontal",
        range: "min",
        max: 255,
        value: 127,
        slide: refreshSwatch,
        change: refreshSwatch
    });
    $("#red").slider( "value", 255);
    $("#green").slider( "value", 140);
    $("#blue").slider("value", 60);

    // Code to move slider when box changed.
    $("#rval").change(function() 
    {
        $("#red").slider("value", $(this).val());
    });
    $("#gval").change(function() 
    {
        $("#green").slider("value", $(this).val());
    });
    $("#bval").change(function() 
    {
        $("#blue").slider("value", $(this).val());
    });

    // Generates the swatch for the first time and sets the turns.
    generateSwatch();

1 ответ

0

location.reload не нужно использовать САМОМ времени, jQuery может обновлять страницу без обновления. Информация, введенная здесь, будет потеряна, поскольку jQuery будет манипулировать DOM после ее загрузки и не поддерживать состояние, если это не подразумевается.

Не могли бы вы разместить какой-нибудь код, который вы используете в данный момент?

  • 0
    Извините, я был связан раньше. Я добавил выдержку из своего кода, чтобы вы могли видеть.

Ещё вопросы

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