我点击输入单选并更改图像src,通过再次点击…我如何将图像更改回原来的样子
I click an input radio and change an image src, by clicking again...how do I change the image back how it was?
我有这样的代码:
https://jsfiddle.net/Suiberu/rxu8wgxf///INPUT RADIO ON & OFF
var prv;
var markIt = function(e) {
if (prv === this && this.checked) {
this.checked = false;
prv = null;
} else {
prv = this;
}
};
$(function() {
$('input.limit_radio').on('click', markIt);
});
//CHANGE IMAGE
function changeImage(imgName) {
image = document.getElementById('theimage');
image.src = imgName;
}
点击输入类型的无线电…是的,它必须是一个输入型收音机,我确实设法改变了一个img src。感谢一些jquery代码,我可以设法关闭输入电台。但改变后的形象仍然是最初改变时的样子。当我关闭输入类型单选框时,我想要返回原始的img src。我该如何做到这一点?
对不起,但javascript或jquery不是我最强的技能,但你可以验证我要求的只是检查上面的url。
谢谢!
我删除了onclick处理程序,并添加了一个data属性来替换url。
https://jsfiddle.net/jjwilly16/37yn9xzy/1/。
<img src="http://www.cbc.ca/i/img/theme/default/plus-up.png" name="theimage" id="theimage" data-alternate="https://www.ucl.ac.uk/2034/images/icons/arrow-blue-left.png"/>
/INPUT RADIO ON & OFF
var prv;
var markIt = function(e) {
if (prv === this && this.checked) {
this.checked = false;
prv = null;
} else {
prv = this;
}
var img = document.getElementById('theimage'),
alternate = img.getAttribute('data-alternate'),
src = img.src;
img.src = alternate;
img.setAttribute('data-alternate', src);
};
$(function() {
$('input.limit_radio').on('click', markIt);
});
您可以使用mouseup
事件,删除并替换原来的<input type="radio">
元素。
$(function() {
var sources = ["https://www.ucl.ac.uk/2034/images/icons/arrow-blue-left.png"
, "http://www.cbc.ca/i/img/theme/default/plus-up.png"];
var img = $("#theimage");
var clicked = false;
function changeImage(e) {
img.attr("src", function() {
var checked = e.target.checked;
if (!clicked || checked) {
var clone = e.target.outerHTML;
$(e.target).remove();
$(clone).insertAfter($("#theimage + br"));
$(".limit_radio").prop("checked", !clicked ? true : !checked);
}
return (!clicked ? (clicked = true) : !checked) ? sources[0] : sources[1]
});
}
$(document).on("mouseup", "input.limit_radio", changeImage)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<img src="http://www.cbc.ca/i/img/theme/default/plus-up.png" name="theimage" id="theimage" />
<br>
<input class="limit_radio" type="radio" name="edit_race" value="gnomin" id="race_gnomin">
jsfiddle https://jsfiddle.net/rxu8wgxf/5/
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 角度:在ng重复上切换图像
- 画廊图像未显示
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- Javascript排序的图像弹出窗口..可以't单独弹出
- 画布数据到图像
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 使图像在单击时展开到不大于浏览器
- Html页面上的多个Base64图像和平滑加载
- UIAutomation放大图像
- 使用javascript在Flash中加载外部图像
- 可以在这里为背景图像设置滤镜吗
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 使用 js 将背景图像设置为 HTML
- Javascript将图像src更改为淡入淡出
- jQuery可拖动改变图像大小在拖动开始,恢复原来的大小在恢复
- 我点击输入单选并更改图像src,通过再次点击…我如何将图像更改回原来的样子
- 如何替换图像上的点击和重置为原来的退出悬停状态后