Я пытаюсь найти способ минимизировать количество просмотров Селектора.Моя проблема в том, что у меня есть переменная, определенная с помощью base $ (document) .ready (), которую необходимо обновить внутри функций, вложенных в $ (document) .ready ()
Рассмотрим этот пример (ПРАВКА: я обновилэто будет более понятным)
<script>
//var $current_page = $home_page; **<--I DONT want to do this, going global
and of course it doesn't work since
$home_page isn't defined yet.**
$(document).ready(function() {
var $home_page = $("#home-page");
var $portfolio_page = $("#portfolio-page");
var $about_page = $("#about-page");
var $current_page = $home_page; // **<--This variable, in this scope level,
// is what I want updated**
$("#home-btn").click(function () {
$current_page.stop()
$current_page.show()
$current_page.animate({
duration: 360,
easing: 'easeInCirc',
complete: function() {
$(this).css({ top: -700 });
}
);
$current_page = $home_page;
});
$("#portfolio-btn").click(function () {
$current_page.stop()
$current_page.show()
$current_page.animate({
duration: 360,
easing: 'easeInCirc',
complete: function() {
$(this).css({ top: -700 });
}
);
$current_page = $portfolio_page; //<--This needs to somehow update the
// variable in the $(document).ready
// scope, but not global**
});
});
<script>
Как я могу обновить переменную $ current_page без , сделав ее глобальной переменной?
РЕДАКТИРОВАТЬ: Это сделано для анимациитекущий раздел страницы при нажатии на пункт меню.Да, это не хватает вещей, да, это может не иметь смысла.Это всего лишь пример, а не само приложение.
Я понимаю, что этот пример все еще тривиален для производительности, просто проигнорируйте этот факт.Я просто хочу знать, как этого добиться, а не урок, будь то лучшая практика или производительность.Спасибо, ребята.