我的切换有问题。我找到了类似的帖子,但没有一个我真正理解的。
我希望按钮在单击时将文本更改为“项目信息 - ”,再次单击时将恢复为“项目信息+”
这是问题(项目信息按钮) - > http://marcuspedersen.com/oyafestivalen.html
代码:
jquery
$('#toggle').click(function() {
$('#workinfo').slideToggle (300, 'linear');
});
按钮
<input type="button" id="toggle" value="Project Info +"/>
答案 0 :(得分:4)
我建议:
$('#toggle').click(function(e){
// you may also want:
// e.preventDefault();
// depending what else you're doing, and how you're doing it
$(this).val(function(i,v){ return v == 'Project Info +' ? 'Project Info -' : 'Project Info +'; });
});
顺便提一下,如果您对同一个元素/ jQuery对象执行多个操作,则最好缓存该对象,然后使用缓存的对象进行将来的操作。
请记住我在这里使用了click()
,而不是toggle()
,因为后者在jQuery 1.9中已被弃用。
参考文献:
答案 1 :(得分:1)
试试这个
$('#toggle').click(function() {
$('#workinfo').slideToggle (300, 'linear');
$(this).val( $(this).val() == 'Project Info +' ? 'Project Info -' : 'Project Info +');
});