【发布时间】:2012-01-13 16:10:01
【问题描述】:
这是一个非常简单,可能太简单的问题,但恐怕我在 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。
单击时,id 为 0 的 div 淡出,我希望打开 div id 1,然后将 openc 到 b 更新为 1。我为自己添加了警报。当我按一次时,它似乎起作用了。当我再次按下它时,它仍然会提示 1,因此我的 div id 1 会淡出并重新出现。 我想我只需要使用 onclick 将 +1 添加到 fadeIn 函数,这样它就会始终打开 openc+1 但是..似乎无法正确使用语法。
谢谢!
编辑:也许我的问题不够清楚,我想我会添加一些信息。我求你不要建议诸如添加事件处理程序之类的事情,我什至不知道这意味着什么,我是 javascript/jQuery 的菜鸟。我需要做的就是:
onclick,淡出 div openc(是的,是一个数字),淡入 openc +1,并将 openc 更新为自己的值 +1。
这是为了在 div 之间进行分页。 所以说你登陆 div id=0, openc=0。你点击下一步,它应该淡出 div0,淡出 div1,openc 现在应该等于 1。这样下次点击next时,div1淡出,div2出现,以此类推。
希望澄清,再次感谢!
【问题讨论】:
-
我认为完整的代码示例会有所帮助,也许使用jsfiddle.net ?
-
如果您使用的是 jQuery,为什么要使用元素的
onclick属性来分配点击事件处理程序?此外,W3C standards 声明 ID 必须以字母 ([a-zA-Z]) 开头。 -
不要在 onclick 中使用“javascript:”。这是多余的。
-
除此之外,使用单个运算符执行加法和赋值是
+=而不是=+。该代码在当前状态下很难阅读,但我确实发现了这一点。 -
Anthony,谢谢你,你是唯一一个真正回答我的问题而不是告诉我我的代码有什么问题的人。我知道阅读起来很糟糕,不推荐使用,你有什么,我很讨厌 javascript/jQuery,而且我什至不能做一个简单的添加的事实应该说明我没有线索什么是好的做法或不是大声笑!我会再试试这个 Anthony,谢谢。
标签: javascript jquery onclick