$(document).ready(function() {
var page = 1;
$(".btnReadMore").click(function(){
if(page==1){
$('#aboutUsText').text('textone');
var page=0;
}else{
$('#aboutUsText').text('text two');
}
});
});
我对javascript很新,我试图在按下按钮时切换元素文本,我做错了什么?谢谢:3
答案 0 :(得分:0)
我不建议使用“var page = 1;”因为它是一个全局变量,应尽可能避免全局变量,因为它们对性能不利。
$("#btnReadMore").click(function(){
var textSpan = $('#aboutUsText');
if (textSpan.attr("ShowState")=="2"){
textSpan.text('textone');
textSpan.attr("ShowState", "1");
}else{
textSpan.text('text two');
textSpan.attr("ShowState", "2");
}
});
在上面的例子中,我声明了我自己的名为ShowState的自定义属性,并将其保存在标签本身上。此外,我切换按钮使用ID而不是类。类访问速度很慢。 ID是即时的。
结帐我的小提琴: http://jsfiddle.net/eLVTk/
答案 1 :(得分:0)
由于您要在函数中重新声明page
,整个.click()
事件处理程序将始终使用var page = 0
。请参阅variable scoping和variable hoisting。
正如Dhaval在评论中所述,只需删除声明就可以解决这个问题:
page = 0; // Instead of var page = 0