Попытка сделать базовое, если тогда, но на самом деле ничего из того, что я прочитал, не помогает мне.Пожалуйста помоги! - PullRequest
0 голосов
/ 20 апреля 2011

Я работал над этим сценарием около двух часов подряд, и я не могу понять, что я делаю неправильно. Я никогда не использовал переменные в jquery раньше, и все руководства, которые я читаю, показывают переменные, но не используются ни в каком полезном контексте. Вот мой код:

    var $a = 1;
    var $b = 1;

    $('#pdnav1').click(function(){
        if($a == $b) {
            var $a = 0;
            $('#pdbgimg').html('<img id="pdimg" src="http://royalty-ro.com/forums/uploads/images/1303326955-U1.jpg">'); 
            $('#pd1').fadeIn(0);
            $('#pdbg1').animate({top: '0px'});
        }else{
            var $a = 1;
            $('.pdhide').animate({
              top: '-200px'
            });
            $('.pdhide2').delay(400).fadeOut(0);
        }
    });

В основном, все, что я хочу сделать, это оператор «если» при первом нажатии на него, а затем оператор «еще» в следующий раз (повторяя этот процесс каждый раз, когда вы щелкаете по нему, как переключатель). 1004 *

1 Ответ

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

Вы объявляете переменную $a внутри своей функции:

var $a = 0;

Это объявление внутри функции переопределяет глобальную переменную $a, определенную вне функции.

Если вы хотите использовать глобальные переменные и обращаться к ним внутри функций, не переопределяйте их, используя var внутри этой функции.


Для получения дополнительной информации вы должны прочитать о Переменная сфера .


И, кстати: использование $ в именах переменных, как правило, не совсем хорошая идея ...

...