我也交换按钮的值和按钮的.innerHTML,但是以一种有效的方式进行。 像这样:
function btnswap2()
{
var soft=document.getElementById('1');
var hard=document.getElementById('2');
var temp;
var temp1;
var flag=0;
if(soft.id==1)
{
temp1=soft.innerHTML;
soft.innerHTML=hard.innerHTML;
hard.innerHTML=temp1;
temp=soft;
soft=hard;
hard=soft;
showHARD();
}
}
现在我可以在运行时点击按钮的ID,因为您可以看到每次单击按钮时按钮都会被交换。 问题是我必须在这里调用一些其他函数(在这种情况下,如果它很难,那么它应该很难,应该调用其他函数)
showHARD();
showSOFT();
我怎样才能实现这一目标? 我的丁字号如下: BTN:ID
SOFT: 1
HARD: 2
TRAI: 3
STAT:4
答案 0 :(得分:0)
尝试将类添加到静态按钮:
<button id="1" >button1</button>
<button id="2" >button2</button>
<button id="3" >button3</button>
<button id="4" class="static" >button4</button>
然后使用jQuery:
$(document).ready(function(){
$("button").click(function(){
if($(this).hasClass("static")){
showSTAT();
}else{
btnswap2(this);
if($(this).attr("id")=="1")
showSOFT();
else if($(this).attr("id")=="2")
showHARD();
else
showTRAI();
}
});
});
function btnswap2(btn){
var stat=$('button.static');
var temp;
temp=btn.html();
btn.html(stat.html());
stat.html(temp1);
stat.removeClass("static");
btn.addClass("static");
}
不要在btnswap2()函数中调用showSOFT()或showHARD()!
通过这种方式,您将始终获得静态按钮,只有在交换的按钮不是静态时它才会交换。
答案 1 :(得分:0)
我想你想做的是这样的事情:
<强> HTML 强>
--------
static:
--------
<div id="1" >button A</div>
--------
live:
--------
<div id="2" onClick="btnswap2(this.id)">button B</div>
<div id="3" onClick="btnswap2(this.id)">button C</div>
<div id="4" onClick="btnswap2(this.id)">button D</div>
<强>的JavaScript 强>
function btnswap2(id){
var temp = document.getElementById("1").innerHTML; // static button
var clicked_label = document.getElementById(id).innerHTML;
document.getElementById("1").innerHTML = clicked_label;
document.getElementById(id).innerHTML = temp;
}
小提琴在这里:http://jsfiddle.net/n5UDu/6/
希望这有帮助。