图像交换在Firefox中不起作用,但在Chrome和IE中有效
Image swap won't work in Firefox but works in Chrome and IE
我试图在点击事件时交换两个div中的两个图像,以便22a.jpg最终出现在div#second和22b.jpg最终出现在div#first中,但是每次我单击"交换"按钮时,我都会在Firebug中收到此错误:imgArray[2].src是未定义的。我尝试在Chrome 17.0.963.2和IE 8.0中运行代码,它工作正常,没有错误。我正在使用火狐 11.0
.HTML
<body>
<div id = "first" class = "thumbnail">
<img class = "thumbsize" src = "22a.jpg" />
</div>
<div id = "second" class = "thumbnail">
<img class = "thumbsize" src = "22b.jpg" />
</div>
<input type = "button" id = "swap" value = "swap" />
</body>
.JS
<script type = "text/javascript">
document.getElementById("swap").onclick = function(){
if(document.images){
var imgArray = document.images;
imgArray[2] = new Image();
imgArray[2].src = imgArray[0].src;
imgArray[0].src = imgArray[1].src;
imgArray[1].src = imgArray[2].src;
}
};
</script>
document.images
在Firefox中是只读的(链接到规范(。您可以创建新映像,但不能将其追加到document.images
数组。
完成图像交换的更好方法如下所示:
document.getElementById("swap").onclick = function(){
if(document.images){
var imgArray = document.images;
var tempSrc = imgArray[0].src;
imgArray[0].src = imgArray[1].src;
imgArray[1].src = tempSrc;
}
};
你的 HTML 中只有两张图片,所以没有定义 imgArray[2]。使用临时变量交换其他图像。
您是否尝试过将其放入某种就绪函数中?
$('button#swap').toggle(function() {
$("div#first > img").attr('src','22b.jpg');
$("div#second > img").attr('src','22a.jpg');
}, function() {
$("div#first > img").attr('src','22a.jpg');
$("div#second > img").attr('src','22b.jpg');
});
这样的东西对你有用吗?
相关文章:
- IE/Chrome中未定义的函数,但Firefox中没有
- 滚动在Chrome中有效,但在Firefox或IE中无效
- CKeditor预览插件.js,为Chrome和IE进行编辑.因为它拒绝CSS样式
- 如何编写在Chrome和IE中正常工作的JavaScript
- document.images未加载在chrome或firefox上,但已加载在IE上
- Javascript赢得'不能在IE上编译,但可以在Chrome上运行
- IE与Chrome的怪癖模式
- Json到CSV下载,可以在chrome中工作,但不能在IE浏览器中工作
- Jquery selectmenu组合框在IE和Chrome中每当按钮打开时就会关闭
- 以下颜色更改功能在IE9和Firefox中运行良好,但在早期的IE或Chrome中则不然
- window.opener not working in chrome & IE
- HTML5视频无法在chrome上工作,在服务器上托管后的IE,mov文件中的视频(quicktime格式)
- Iframe加载调整大小在Chrome中工作,但不能在IE或Firefox中工作
- AngularJS$http.post没有'不适用于Chrome,仅适用于IE
- Javascript'元素'在ie中未定义,但在chrome和firefox中运行良好
- Multi-platform (Chrome, IE, Firefox)
- Javascript在JS Fiddle中工作,但在Chrome / IE中不起作用
- jQuery:$.getJSON对Chrome/IE上的数据进行排序
- 输入元素在Firefox中没有定义,但在Chrome/IE中有
- 下拉JavaScript的onClick事件不触发Chrome/IE