我在HTML中有一个翻转提交按钮:
<input type="image" id="join" name="join" src="images/join.png" value="join">
我使用JS代码进行翻转/悬停功能:
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
$('#join').hover(
function(){
$(this).attr({ src : 'images/rollover/joinOver.png'});
},
function(){
$(this).attr({ src : 'images/join.png'}); }
);
});
</script>
它在除Firefox和IE之外的所有浏览器中都可以正常工作。如果我添加一个普通的"提交"按钮(input type = "submit"
),它在任何地方都可以正常工作。
我尝试将type="submit"
放入 HTML 中,然后通过 CSS 添加悬停图像效果(在 HTML 中以及在单独的样式表中使用class
),但它不起作用。
如何拥有一个适用于"所有"浏览器的翻转按钮?(在Chrome,FF,IE,Opera,Safari中测试)
注意:
澄清一下,我在创建翻转图像方面没有问题,但创建一个翻转图像,该图像用作表单的"提交"按钮(启动 PHP 脚本)。
我的代码在所有浏览器中都显示翻转,但它在 FF 和 IE 中不能用作"提交"按钮。
看看这个:
http://jsfiddle.net/LcnrJ/3/
.HTML:
<input type="submit" class="join" value="SEND"/>
j查询:
$(document).ready(function(){
$(".join").hover(function(){
$(".join").toggleClass("newphoto");
});
});
在IE 8和FF 24中都经过测试
分别更改1.jpg
和2.jpg
图像源,并action=""
。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<title>Form Test</title>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/javascript">
<!-- Hide from old browsers
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
// unhide -->
</script>
</head>
<body bgcolor="#FFFFFF" onLoad="MM_preloadImages('1.jpg')">
<form action="" method="POST">
<input type="image" src="2.jpg" border="0" id="submitbutton" onMouseOver="MM_swapImage('submitbutton','','1.jpg',1)" onMouseOut="MM_swapImgRestore()">
</form>
</body>
</html>