如何在HTML中更改图像按钮onmouseover事件上的图像?

时间:2012-02-07 06:32:16

标签: javascript html css imagebutton onmouseover

我有4个包含图像的图像按钮。在鼠标上我必须更改图像(即在按钮上加载新图像)。这是代码。

<div class ="submit" id="submit" >
    <input  type="image" src="dump.png" value="Dumb" class ="Dumb" id="Dumb" onclick="posting_by_user('Dumb')" />
    <input  type="image" src="informative.png" value="Informative" class ="Informative" id="Informative" onclick="posting_by_user('Informative')"/>
    <input  type="image" src="brilliant.png" value="Brilliant" class ="Brilliant" id="Brilliant" onclick="posting_by_user('Brilliant')"/>
    <input  type="image" src="cool.png" value="Cool" class ="Cool" id="Cool" onclick="posting_by_user('Cool')"/>
</div>

这里我已经加载了dump.png,informative.png,brilliant.png和cool.png。鼠标悬停在每个按钮上我必须更改图像。

5 个答案:

答案 0 :(得分:2)

<input  type="image" src="dump.png" value="Dumb" class ="Dumb" id="Dumb" onclick="posting_by_user('Dumb')" onmouseover="changeImg.call(this)" />

function changeImg(){
this.setAttribute("src","newImageFileName.jpg");
}

总是建议将代码与html隔离。这个答案会很有用,因为它更干净,更适合调试..

答案 1 :(得分:2)

<input  type="image" src="dump.png" value="Dumb" class ="Dumb" id="Dumb" 
onclick="posting_by_user('Dumb')" 
onmouseover="this.src='informative.png';" 
onmouseout="this.src='dump.png';" />

答案 2 :(得分:2)

试试这个

$(document).ready(function() {
$('input[type=img]')
    .mouseover(function() { 
        var src =  "mouseover.png";
        $(this).attr("src", src);
    });

答案 3 :(得分:1)

您可以使用Javascript或CSS,下面是javascript方法。

window.addEventListener("load", function load (event) {
    window.removeEventListener("load", load, false);
    tieEvents();
}, false);

function tieEvents() {
    var button = document.getElementById('Dumb');

    button.addEventListener("mouseover", hovered, false);
    button.addEventListener("mouseout", unhovered, false);

    function hovered() {
        button.src = "anotherimg.png";
    }

    function unhovered() {
        button.src = "anotherimg.png";
    }
};

JSFiddle Demo

请注意,在HTML中设置事件不是一个好习惯,最好将它们绑定在Javascript中。


CSS方式如下:

#Dumb {
    backgroud: url("dump.png");
}

#Dumb:hover {
    backgroud: url("another.png");
}

JS Fiddle Demo

答案 4 :(得分:0)

你可以使用CSS

  1. 规则将显示默认外观
  2. 鼠标悬停时
  3. 显示相同大小基本示例中的另一个图像

    button1 {background:url(img / button1.png)}
    button1:悬停{background:url(img / button1_hover.png)}

  4. 或者你可以使用精灵图像,在一个图像中都有 并使用CSS规则来改变其位置

    http://cssglobe.com/post/3028/creating-easy-and-useful-css-sprites