单击时更改图像,保留图像并在单击其他图像时删除
Change image on click, keep image and remove if other image is clicked
对于交互式图片,我希望图像在悬停时更改,并在单击时保持悬停状态(请参阅此处的图片:http://labs.tageswoche.ch/grafik_osze)。对于悬停,我有以下代码:
var sourceSwap = function () {
var $this = $(this);
var newSource = $this.data('alt-src');
$this.data('alt-src', $this.attr('src'));
$this.attr('src', newSource);
}
$(function() {
$('img[data-alt-src]').each(function() {
new Image().src = $(this).data('alt-src');
}).hover(sourceSwap, sourceSwap);
});
但是我不知道如何adped此代码,它也可以在单击时工作。如果单击另一张图像,则应再次显示原始图像(白色图片)。因此,只有一张点击的图片是黑色的。感谢您的回答!
var sourceSwap = function () {
var $this = $(this);
if (!$this.hasClass('active')) {
var newSource = $this.data('alt-src');
$this.data('alt-src', $this.attr('src'));
$this.attr('src', newSource);
}
}
var makeActive = function() {
var $this = $(this);
// bring the active back (if any) to the first state
if($('img.active').length) {
var newSource = $('img.active').data('alt-src');
$('img.active').data('alt-src', $('img.active').attr('src'));
$('img.active').attr('src', newSource);
$('img.active').removeClass('active');
}
$this.toggleClass('active');
}
$(function() {
$('img[data-alt-src]').each(function() {
new Image().src = $(this).data('alt-src');
}).hover(sourceSwap, sourceSwap);
$('img[data-alt-src]').on('click', makeActive);
});
好吧,我还没有测试过它,但我希望你明白这一点
相关文章:
- 使图像在单击时展开到不大于浏览器
- 复制图像路径以单击它
- 旋转和取消旋转图像单击与 javascript
- 如何在 HTML 中的图像单击上播放声音
- 在“JQuery 模式”对话框中指定图像单击侦听器
- 在图像单击时触发Brightcove视频播放,并在视频完成后将其隐藏
- 在图像单击时更改正文加载
- 在图像单击时启用 Javascript 功能
- 为什么更改图像单击在PC上不起作用
- 在页面加载时运行 Jquery 函数,而不是在图像单击时运行
- jQuery 旋转函数 - 在图像单击时指定 20% 的旋转
- Jquery 中环绕图像单击事件的链接
- jquery 'change' 事件在表单中的按钮集的图像单击时未触发
- 打开Javascript交换图像.单击
- JQuery赢得't调用图像单击
- JQuery图像单击事件不起作用
- 旋转图像单击Javascript
- 在jquery中输入类型图像单击事件
- 在没有回发的情况下打开图像单击事件中的对话框
- 更改图像单击时下拉选择的值