【100%结帖】按钮点击后改变文字 想做一个收藏按钮,刚开始文字是“收藏”,对应一个函数,点击后是文字是“取消收藏”,对应另外一个函数,要怎么实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <a href="javascript:void(0)" cid='123123123' state="0" onclick = "fav(this)">收藏</a>function fav(o) { var state = o.getAttribute('state'); var id = o.getAttribute('cid'); if(state == 0) { o.innerHTML = '取消收藏'; add(id); //收藏 } else { o.innerHTML = '收藏'; cancel(id); //取消收藏 }} add那里为什么要加个id?能否解释下? 没什么在js方法里要把 这个id元素的state属性改变,也可以在这里直接变if(state == 0) { o.innerHTML = '取消收藏'; add(id); //收藏 } else { o.innerHTML = '收藏'; cancel(id); //取消收藏 } 设置一个flag,0或1 每次点击执行函数前加一个判断语句 ,像这样<a class="abc" href=""></a>flag=0if(flag=0){ $('.abc').val('取消收藏'); /*执行收藏的方法*/ flag=1;}else{ $('.abc').val('收藏'); /*执行取消收藏的方法*/ flag=0;} <input type="button" id="testButton" value="收藏" />$(document).ready(function () { $("#testButton").bind("click", Add()); }) function Add() { //Do something Add alert("收藏"); $("#testButton").val("取消收藏"); $("#testButton").unbind("click"); $("#testButton").bind("click", Cancel); } function Cancel() { //Do something Cancel alert("取消收藏"); $("#testButton").val("收藏"); $("#testButton").unbind("click"); $("#testButton").bind("click", Add); }2楼的方法是在同一个函数中实现,我再写个每次点击绑定到不同函数的实现方法,用jQuery实现 引用JQuery $(function () { $("#FirstPinyin").toggle(function () { //点击第一次执行 $(this).val("取消收藏"); //doing }, function () { //点击第二次执行 $(this).val("收藏"); //doing }); }); function fav(o) { var state = o.getAttribute('state'); var id = o.getAttribute('cid'); if (state == 0) { o.innerHTML = '取消收藏'; o.setAttribute('state', 1); add(id); //收藏 } else { o.innerHTML = '收藏'; o.setAttribute('state', 0); cancel(id); //取消收藏 } } 记得改变state属性 - - 这么改function fav(o) { var state = o.getAttribute('state'); var id = o.getAttribute('cid'); if(o.innerHTML == '收藏') { o.innerHTML = '取消收藏'; //alert("收藏"); state = 1; add(id); //收藏 } else { o.innerHTML = '收藏'; cancel(id); //取消收藏 }} 小白求助一个问题,急求,谢谢 从后台返回一条JSON数据,如何转换成ext的record 图片不循环,在线等。。。 JS怎么统计页面中DIV标签ID包含abc的个数 父页面关闭时,子页面自动关闭 一个自动判断双线的JS脚本,如何改成无cookie的,高手来看看 浏览器之间兼容性问题IE8,救急! ★★★★★★★javascript对文件的操作!急!! 关于刷新历史页面问题,急!!!!!!!!! 有人知道条码扫描器的keyCode是多少么? js限制TextBox输入的长度 求助 js 替换图片路径问题 在线等 请多帮忙
<a href="javascript:void(0)" cid='123123123' state="0" onclick = "fav(this)">收藏</a>function fav(o) {
var state = o.getAttribute('state');
var id = o.getAttribute('cid');
if(state == 0) {
o.innerHTML = '取消收藏';
add(id); //收藏
} else {
o.innerHTML = '收藏';
cancel(id); //取消收藏
}
}
if(state == 0) {
o.innerHTML = '取消收藏';
add(id); //收藏
} else {
o.innerHTML = '收藏';
cancel(id); //取消收藏
}
flag=0
if(flag=0){
$('.abc').val('取消收藏');
/*执行收藏的方法*/
flag=1;
}else{
$('.abc').val('收藏');
/*执行取消收藏的方法*/
flag=0;
}
$("#testButton").bind("click", Add());
}) function Add() {
//Do something Add
alert("收藏");
$("#testButton").val("取消收藏");
$("#testButton").unbind("click");
$("#testButton").bind("click", Cancel);
}
function Cancel() {
//Do something Cancel
alert("取消收藏");
$("#testButton").val("收藏");
$("#testButton").unbind("click");
$("#testButton").bind("click", Add);
}2楼的方法是在同一个函数中实现,我再写个每次点击绑定到不同函数的实现方法,用jQuery实现
$("#FirstPinyin").toggle(function () {
//点击第一次执行
$(this).val("取消收藏");
//doing
}, function () {
//点击第二次执行
$(this).val("收藏");
//doing
});
});
function fav(o) {
var state = o.getAttribute('state');
var id = o.getAttribute('cid');
if (state == 0) {
o.innerHTML = '取消收藏';
o.setAttribute('state', 1);
add(id); //收藏
} else {
o.innerHTML = '收藏';
o.setAttribute('state', 0);
cancel(id); //取消收藏
}
} 记得改变state属性 - -
function fav(o) {
var state = o.getAttribute('state');
var id = o.getAttribute('cid');
if(o.innerHTML == '收藏') {
o.innerHTML = '取消收藏';
//alert("收藏");
state = 1;
add(id); //收藏
} else {
o.innerHTML = '收藏';
cancel(id); //取消收藏
}
}