Jquery onclick var update

时间:2012-01-13 16:10:01

标签: javascript jquery onclick

这是一个非常简单,可能过于简单的问题,但我担心我在jQuery中的有限技能需要别人的帮助! 看到可耻的代码:

onclick="javascript:  $j('#'+openc).fadeOut('normal', function({
$j('#'+openc).fadeIn('slow')});
openc=+1;
alert('The city of ' + openc + ' is located in ' + openc + '.');"

默认情况下,openc设置为0。

Onclick,id为0的div淡出,我希望div id 1打开,然后openc to b更新为1.我为自己添加了警报。当我按一次,它似乎工作。当我再次按下它时,它仍然会发出警报1,因此我的div id 1淡出并向右后退。 我想我只需要使用onclick为fadeIn函数添加+1,这样它将始终打开openc + 1但是......似乎无法使语法正确。

谢谢!

编辑:也许我的问题不够明确,我想我会添加一些信息。我求求你不要建议添加事件处理程序之类的东西,我不知道甚至意味着什么,我是javascript / jQuery的总菜鸟。我需要做的就是:

onclick,淡出div openc(是的,是一个数字),fadein openc +1,并将openc更新为自己的值+1。

这是为了div之间的分类。 所以说你登陆div id = 0,openc = 0。你点击下一步,它应该淡出div0,fadein div1,openc现在应该等于1。这样,下次单击next时,div1淡出,div2出现,等等。

希望澄清,再次感谢!

2 个答案:

答案 0 :(得分:1)

您应该将此代码放入事件处理程序,而不是使用过时的onclick HTML属性。请尝试将其放入您网页的<head>

<script type="text/javascript">
    $(function() {
        $j("#myElement").click(function() {
            $j('#' + openc).fadeOut('normal', function() {
                $j('#' + openc).fadeIn('slow')
            });

            openc += 1;

            alert('The city of ' + openc + ' is located in ' + openc + '.');
        });
    });
</script>

此外,正如评论中所述,Ids不能以数字开头,所以最好也改变它们。

答案 1 :(得分:0)

openc=+1让它看起来像“opencv”是一个数字。 ID不能是数字。