Javascript не загружает новое местоположение - PullRequest
0 голосов
/ 10 марта 2011

Это моя основная функция, использующая jquery и jquery-ui. Проблема в том, что он должен загружать новый адрес при нажатии на ссылку (после анимации «desaparecer»). У ссылок есть тег rel, который содержит номер "артикула".

    $(function () {
        function aparecer () {
            $("#centro").show('drop','fast')
        }   
        function desaparecer () {
            $("#centro").hide('drop', 'fast', 'carga ()')
        };
        function cargar () {
            window.location = 'index.php?articulo=' + a.attr('rel');
        };
        $("a").click(function () {
            var a = $(this);
            desaparecer();
            return false;
        });
        aparecer();
    });

Ответы [ 2 ]

1 голос
/ 10 марта 2011

carga не равно cargar

И обратный вызов, согласно документации jQuery, должен быть функцией, а не строкой, которая должна быть eval ed.

$("#centro").hide('drop', 'fast', cargar)
0 голосов
/ 10 марта 2011

Проблема в том, что вы объявили «a» в обработчике кликов для тега (ов) <a>.Переместите это наружу из этих функций:

$(function () {
    var a;

    function aparecer () {

, затем измените механизм щелчка:

    $("a").click(function () {
        a = $(this);  // no "var" here
        desaparecer();
        return false;
    });

Поскольку «а» это внутри , который обрабатывает щелчок,функция "cargar" этого не увидит.Но объявленные вне обеих функций, они оба будут иметь доступ к одной и той же переменной.

Также похоже, что «cargar» написан с ошибкой в ​​функции «исчезнуть».Во всяком случае, это не должно быть в такой строке;это может выглядеть так:

    function desaparecer () {
        $("#centro").hide('drop', 'fast', cargar)
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...