打开Javascript交换图像.单击
Javascript Swap Image on .this Click
我正试图在单击图像时执行一个简单的图像交换。我正在循环浏览一个数据库,所以我有一堆"竖起大拇指"的图像。当用户点击其中一个图像时,我希望该特定图像变为绿色。两个图像名称是"thumbs_up.png"answers"thumbs_up_green.png"
我可以使用"this"使图像消失,但不知道如何进行图像交换。任何帮助都会很棒!非常感谢。
这是我的脚本:
<script>
function thumbTip(element){
var name = element.name;
$(element).hide();
}
</script>
这是我的HTML:
<table width='100%' class='test'>
<tr>
<td><span class='test'>$p[first_name]</span></td>
<td align='center'><span class='test'>$p[date_time]</span></td>
</tr>
<tr>
<td width='87%'><span class='test2'>$p[tip]</span></td>
<td width='13%' align='center'>
<span class='test3'>
<a href='#' onClick='thumbTip(this)'>
<img src='../images/thumbs_up.png' width='25' scalefit='1' />
</a>
</span>
</td>
</tr>
</table>
因为您已经标记了jQuery。将提供jQuery解决方案。。
$('.test3 a').on('click', function(e) {
e.preventDefault();
var $img = $(this).find('img');
$img.attr('src', function(_,s) {
return s.indexOf('thumbs_up_green') > -1 ? '../images/thumbs_up.png'
: '../images/thumbs_up_green.png'
});
});
只是交换掉基于条件的图像的src属性。
在下面的例子中,你会有两个css类,它们的图像分别命名为thumb-up和thumb-up-green,每次你都只是在元素上切换哪一个。
function thumbTip(element){
var el = $(element);
el.toggleClass("thumbs-up");
el.toggleClass("thumbs-up-green");
}
这里有一个纯JS的解决方案
我建议分两步交换拇指图像:
- 检查当前显示的图像
- 然后更改图像并继续执行进一步的代码
例如:
<script>
function thumbTip(element){
if(element.src == '../images/thumbs_up.png'){
element.src = '../images/thumbs_up_green.png';
//Further Code: (when thumb gets green)
}else{
element.src = '../images/thumbs_up.png';
//Further Code: (when thumb gets normal again)
}
}
注意:在这种情况下,img的绝对路径可能会更好。
相关文章:
- 单击图像时打开“跨度”标记
- 单击图像后如何创建下拉菜单?[引导/角度]
- 当使用 Javascript 单击图像 A 时,如何将图像 B 的 src 更改为图像 A 的 src
- 单击图像滑块计时器的事件
- 单击图像更改图像并调用函数
- 如何通过单击图像按钮打开图像
- Div在单击图像时未执行slideTogle()
- 单击图像时如何播放音乐
- 尝试单击图像并打开模式ajax
- 画布:单击图像
- 使用javascript和php,在单击图像时将其移动到另一个位置
- 单击图像时播放声音
- 单击图像时不会出现圆圈,但对其他人有效
- 图像可以'单击图像时不会显示
- 单击图像时从数据库加载选项id
- 单击图像,获取坐标并将其保存在数据库JavaScript和Rails中
- 单击图像不执行任何操作
- 单击图像几秒钟后,打开一个链接
- 在 IE7 和 IE8 中单击图像时触发的 window.blur
- 如何在悬停图像时显示某些信息,并在单击图像时显示某些内容