1
希望有人能帮助我的下一个挑战。下面的脚本与我的HTML一起工作,当我点击一个扩展的头部时,它会打开和关闭。我也有一个被调用的alert函数,它显示扩展头的文本。这工作。链接(扩展器)被点击后只执行一次警报
我想要做的是让警报只能显示一次,任何后续点击已经点击的扩展器标题将停止显示警报。
下面是我从我的工作jQuery代码...
somesite.ca = {
init: function() {
$('.qa-set')
.find('.answer')
.addClass('hide')
.end()
.find('h3')
.addClass('collapsed')
.bind('click', this.click);
$('#expand').bind('click', this.expandAll);
$('#collapse').bind('click', this.collapseAll);
},
click: function(){
$(this)
.toggleClass('collapsed')
.parent()
.find('.answer')
.slideToggle('fast');
// Once the expander has been clicked execute alert only once for that particular expander header
alert($(this).text());
},
}
希望这是有道理的。非常感谢!
谢谢!这效果很好! 一个小问题是,一旦点击了其中一个扩展器,此代码将禁用所有扩展器的警报。这可能会清楚地说明我想要做的事情(对不起,如果缺乏适当的解释): 页面上有5个扩展器。 用户点击扩展器1(警报点火),然后点击扩展器3(警报点火),用户点击扩展器4(警报点火),再次点击扩展器1(无警报),然后再次点击扩展器3(无警报)。 所以警报是特定于扩展器的。希望这个更清楚,我没有浪费你的时间。你写的作品完美,太完美了:) – user2330142 2013-05-01 23:05:43
看来,如果我添加this.expander_clicked它似乎工作。 $(本) .toggleClass( '崩溃') .parent() .find( '答案 ') .slideToggle(' 快'); (!this.expander_clicked){alert($(this).text()); this.expander_clicked = true; } }, 任何人都可以看到我有这种结构的潜在问题吗? 再次感谢!真棒社区... – user2330142 2013-05-01 23:11:48