问题:在用户双击红色方块之前,元素不会“最大化”。
基本上,变量“clicked”是在 onClick 上实例化的,而不是事先实例化的。产生的行为是用户必须单击一次才能实例化“单击”变量,然后该函数按需要工作。
这是JSFiddle
以及重要的代码部分:
var container = $(this).parents('.container');
var paragraph = $(container).find('.text');
if (this.clicked == 0) {
container.removeClass("large-4");
container.addClass("large-8");
paragraph.removeClass("hide");
this.clicked = 1;
}
任何帮助表示感谢!
详细信息(不必阅读:D):
我进行这种反向选择(选择子元素,然后选择父元素)的原因是因为会有许多这样的“.container”元素,并且每个元素都需要通过单击具有相同的相应最小/最大功能最小最大值图标。
显然,该方法没有引用单个本地“点击”类变量。这甚至没有意义,因为每个元素都需要自己的“点击”变量。
如果有更好的方法可以做到这一点,我对任何事情都持开放态度,但即便如此,弄清楚这个特定问题也会很好,因为它有助于我对 Jquery 的整体理解。
对于那些熟悉类名的人,我在这个项目中使用了 Foundation 的框架。
我有一种奇怪的感觉,这与闭包有关,但是是的……对 JS 或 JQuery 的了解还不够,无法真正弄清楚这一点。