Javascript 使用onclick调用函数,并在该函数中使用onclick调用另一个函数
我试图使用onclick调用一个函数,但是这个函数已经在另一个通过onclick调用的函数中了 我真的想继续这样做6-7次 代码可能有助于减少混淆: HTML+JS:Javascript 使用onclick调用函数,并在该函数中使用onclick调用另一个函数,javascript,css,onclick,Javascript,Css,Onclick,我试图使用onclick调用一个函数,但是这个函数已经在另一个通过onclick调用的函数中了 我真的想继续这样做6-7次 代码可能有助于减少混淆: HTML+JS: { <body> <script type="text/javascript"> function abc() { document.getElementById("first").className='disc'; document.getElementById("first").onC
{
<body>
<script type="text/javascript">
function abc()
{
document.getElementById("first").className='disc';
document.getElementById("first").onClick="def();";
}
function def()
{
document.getElementById("first").className='disco';
}
</script>
<input type="button" value="Change Color of this text" id="first" class="" onclick="abc();">
</body>
}
我想在用户每次单击按钮时更改按钮中文本的颜色。那么问题是什么呢?当我再次单击它时,它只会变为红色,而不会变为黄色。我认为根据您在评论中的要求,这应该适合您:- Javascript
function abc(){
if(document.getElementById("first").className == "" || document.getElementById("first").className == "disco"){
document.getElementById("first").className = "disc";
}
else if(document.getElementById("first").className=="disc"){
document.getElementById("first").className="disco";
}
}
您不需要更改HTML和css中的任何内容。而不是将函数从abc()更改为def(),我不确定您是否可以这样做。。为什么不使用1函数并检查当前类名,如下面的代码:
function abc()
{
if(document.getElementById("first").className == "disco" || document.getElementById("first").className == "") //change from red to yellow
document.getElementById("first").className="disc";
else //change from yellow to red
document.getElementById("first").className="disco";
}
固定代码和更可靠的解决方案。您在哪里看到将其更改为黄色的代码?我看不到。为什么不在css中使用鼠标悬停?它不会将其变回黄色。它将首先是黑色,当第一次单击时,它将变为红色,当第二次单击时,它将变为黄色。这就是我想要的
function abc()
{
if(document.getElementById("first").className == "disco" || document.getElementById("first").className == "") //change from red to yellow
document.getElementById("first").className="disc";
else //change from yellow to red
document.getElementById("first").className="disco";
}
var first = document.getElementById("first"), counter = 0;
first.addEventListener('click', function () {
first.className = (counter % 2) ? 'disc' : 'disco';
counter +=1;
});