JQuery toggleClass()然后退出(或删除)

时间:2016-10-10 21:41:30

标签: javascript jquery html css angularjs

我使用angular指令来创建页面的左右列。 In [11]: df.iloc[:6].rename(columns={'a':'AAA', 'b':'BBB'}).assign(c=lambda x: x.query('AAA > 0').AAA.sum()) Out[11]: AAA BBB c 0 0.493970 1.095644 2.733322 1 0.128510 -0.542144 2.733322 2 0.136247 -0.544499 2.733322 3 -0.540835 -0.100574 2.733322 4 0.052725 -0.164856 2.733322 5 -1.201619 1.578153 2.733322 6 1.921872 0.505875 2.733322 <left-column></left-column>。当用户点击<right-column></right-column>时,它会在右列中找到相应的<a href="#target1">Target 1</a>

这很好用,我现在要做的就是点击特定div的背景应该有点闪光或其他东西,我有一些css。所以我想切换那个css类,然后一秒钟后删除该类(或将其关闭)。

我尝试使用<div id="target1">Target 1</div>功能,但它似乎无法正常工作。有任何想法吗?

我的错误是:

setTimeout()

我的 js 是:

Uncaught TypeError: Cannot read property 'toggleClass' of undefined 

1 个答案:

答案 0 :(得分:4)

您的问题是您希望target作为传递给setTimeout的回调中的参数,但实际上并未传递任何参数,因此target本地setTimeout回调隐藏(阴影)访问外部范围内可用的target

从回调参数中删除target将修复错误:

var junk = setTimeout(function(/* remove target from here */) {
  target.toggleClass('gas');
}, 1000);

或者,如果您愿意,可以明确传递它,但由于它已经可用,因此它将是多余的:

var junk = setTimeout(function(target) {
  target.toggleClass('gas');
}, 1000, target); // <--- you can pass the target along here