JQuery глобальные переменные - PullRequest
1 голос
/ 29 апреля 2011

Я пытаюсь «глобализировать» мои переменные, чтобы использовать их в множественных функциях, но безрезультатно.Где я не прав?Большое спасибо!

Вот код:

var my_sidebar_clicked = $('#dash #sidebar ul#main_menu li');
var my_dash_main_content = $('#dash > #main_content');


function mainmenu_selection() {

            //var my_sidebar_clicked = $('#dash #sidebar ul#main_menu li');
            //var my_dash_main_content = $('#dash #main_content');

            my_sidebar_clicked.children().click(function() {
                var el = $(this);
                var mylink = el.attr('href');

                $('#dash #sidebar ul#main_menu li a').removeClass('current');
                $(this).addClass('current');

                //$('#dash #main_content').load("ajax/" + mylink);

                my_dash_main_content.html('<img class="loader_img" src="common/img/ajax-loader.gif" />');
                my_dash_main_content + $(".loader_img").fadeIn(200);
                my_dash_main_content.load("ajax/" + mylink, function(response, status, xhr) {
                        if (status == "error") {
                                var msg = "Oops... sembra esserci un problema, ti preghiamo di riprovare ";
                                my_dash_main_content.html("<h4 class='error_msg'>" + msg + "</h4>"/* + xhr.status + " " + xhr.statusText*/);
                        }
                });

                return false;
            });
}

1 Ответ

1 голос
/ 29 апреля 2011

Принимая дикие предположения, размещение инициализаций переменных внутри блока, выполненного после того, как документ готов, решит проблему.

Попробуйте вместо двух первых строк:

$(function() {
    window.my_sidebar_clicked = $('#dash #sidebar ul#main_menu li');
    window.my_dash_main_content = $('#dash > #main_content');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...