2015-07-20 111 views
1

我发现了很多关于如何解决这个问题的方法,但我似乎无法得到它的工作。我想使用具有按钮功能的图像。下面的代码运行良好,但既不是很好的风格,也不能切换它使用的图像。使用图片作为按钮并点击切换图片

<input type="image" id="mToggle" src="images/chevronright.jpg" width="48" height="48"></input> 

我应该能够做到像下面这样:

HTML

<input type="image" id="mToggle" class="right" width="48" height="48"></input> 

CSS

.left{ 
    background-image: url("images/chevronLeft.jpg"); 
} 

.right{ 
    background-image: url("images/chevronRight.jpg"); 
} 

的JavaScript

$("#mToggle").click(function(){ 
    $('#mToggle').toggleClass('left'); 
}); 

这应该给我一个按钮,最初是一个正确的方向,并在点击左边和右边,每次之间将交换。

编辑:我应该提到,我所描述的第二种方法只会导致默认的“提交查询”文字出现在No图片中。

在此先感谢。

+0

输入ID缺少一个“,我也想toggleClass('右') – depperm

+0

这是我的一个错字,它在代码中是正确的我已经试过toggleClass里面有和没有引号 – Zared619

+0

也许删除src ..并设置id =“mToggle”你的html是不正确的.. – Medda86

回答

2

见你的代码Working fiddle

HTML:

<input type="image" id="mToggle" class="right" width="64" height="64" value=' '></input> 

JS:

只需添加ready功能可按$(function(){ });指定一个函数来执行当DOM完全加载时。

$(function(){ 
    $("#mToggle").click(function(){ 
     $('#mToggle').toggleClass('left right'); 
    }); 
}); 

我希望这会有所帮助。

+0

文本“提交查询”仍然出现在我的生活版本任何想法如何摆脱它? – Zared619

+0

出现insead按钮?尝试添加'value =“”'就像我在我的答案中添加的那样。 –

+0

就是这样,谢谢。 – Zared619