gpt4 book ai didi

javascript - 帮助理解 jQuery 按钮启用/禁用代码

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:00:48 26 4
gpt4 key购买 nike

我从 JCarousel 中获取了这段代码,并试图理解下面的这些行。我是 jQuery 的新手,并不擅长 JavaScript,所以我不确定下面的 jQuery 和 JavaScript 是什么

this.buttonNext[n ? 'bind' : 'unbind'](this.options.buttonNextEvent, this.funcNext)[n ? 'removeClass' : 'addClass'](this.className('jcarousel-next-disabled')).attr('disabled', n ? false : true);
this.buttonPrev[p ? 'bind' : 'unbind'](this.options.buttonPrevEvent, this.funcPrev)[p ? 'removeClass' : 'addClass'](this.className('jcarousel-prev-disabled')).attr('disabled', p ? false : true);

它正在设置一些 css 来设置状态,并启用或禁用 a 中的按钮,但一旦我真正理解它,我想修改它。我只是不能 100% 准确地弄清楚它在做什么。

试图理解诸如 [n ? 'bind' : 'unbind'] 以及此处的链接。这 4 行中发生了很多事情。

代码来自这个插件:http://sorgalla.com/projects/jcarousel/

最佳答案

首先要理解的是符号解析。 Javacript 同时支持点符号和括号符号。

考虑打开一个新窗口。

window.open()

这是实际的点符号。您是在告诉口译员可以在“窗口”上找到“打开”。但是还有另一种方法可以做到这一点

window['open']()

同样的事情,但用括号表示法。我们没有直接使用符号名称,而是使用字符串文字。这意味着我们可以通过使用括号表示法进行符号解析,以动态方式进行解析,因为我们可以动态选择或构建字符串,这正是该代码片段的作用。

this.buttonNext[n ? 'bind' : 'unbind'](...);

类似于

if ( n )
{
this.buttonNext.bind(...);
} else {
this.buttonNext.unbind(...);
}

如果您不认识 ?: 语法,那就是 conditional operator , 或条件表达式

[expression] ? [valueIfTrue] : [valueIfFalse]

这经常被错误地称为“三元运算符”,而实际上它只是一个三元运算符(具有三个操作数的运算符)。这样做的原因是因为在 javascript(和大多数语言)中是唯一的三元运算符,所以这种描述通常是错误的。

这有帮助吗?还有什么需要清理的吗?

关于javascript - 帮助理解 jQuery 按钮启用/禁用代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1075651/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com