[英]using javascript in the onclick attribute
我之前发布了一个问题并得到了答案,感谢这里的精彩人士,但幸运的是,它从未如此简单。 我有一个代码在图片之间来回切换,但是,当你第一次点击时,图片没有切换,但复选框被选中。 至少一个推理会很棒:)
<script type="text/javascript">
function func()
{
var img1= document.getElementById("img1");
if(img1.name == "on")
{
img1.src = "images/" + "img1a.jpg";
img1.name = "off";
}
else
{
img1.src = "images/" + "img1.jpg";
img1.name = "on";
}
}
</script>
</head>
<body>
<form>
<p align="center">
<input type="checkbox" name="interest1" id="interest1" value="x">
<input type="checkbox" name="interest2" id="interest2" value="x">
<input type="checkbox" name="interest3" id="interest3" value="x"></p>
<p align="center">
<label for="interest1" id="label-interest1"><img src="images/img1.jpg" width="781" height="800" onclick="func()" id="img1" /></label>
<label for="interest2" id="label-interest2"><img src="/images/img2.jpg" width="781" height="800" /></label>
<label for="interest3" id="label-interest3"><img src="/images/img3.jpg" width="781" height="800" /></label></P><!-- code making checkbox be an image-->
</form>
你缺乏“开启”的第一个状态。 尝试将此添加到您的标记
<img src="images/img1.jpg" width="781" height="800" onclick="func()" name="on" id="img1" />
相反,您可以在条件语句中的javascript中处理此问题,如下所示:
if(img1.name === undefined || img1.name == "on")
这将处理名称属性不存在的第一个状态。
由于您的img
元素没有name
属性,因此在第一次单击时它与“on”条件不匹配。 您可以添加一个名称属性(这可能会起作用,但会使html无效),但更好的解决方案可能是从您关联的复选框中获取值。 像这样的东西:
var checkboxid = img1.parentNode.getAttribute("for");
document.getElementById(checkboxid).checked
这样,您可以确保它与复选框保持同步。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.