[英]Jquery works in every browser other than IE
对于IE而言,此代码有效,我做了仅IE可以读取的IE注释。
<!--[if gt IE 6]>
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
{
//--my code
$(document).ready(function()
{
$('.thumbnail').live("click", function()
{
$('#mainImage').hide();
$('#imageWrap').css('background-image', "url('ajax-loader.gif')");
var i = $('<img />').attr('src',this.href).load(function()
{
$('#mainImage').attr('src', i.attr('src'));
$('#imageWrap').css('background-image', 'none');
$('#mainImage').fadeIn();
});
return false;
});
});
};
</script> <![endif]-->
对于其他所有浏览器,此代码都有效...
<script type="text/javascript">
$(document).ready(function() {
$('.thumbnail').live("click", function() {
$('#mainImage').hide();
$('#imageWrap').css('background-image', "url('ajax-loader.gif')");
var i = $('<img />').attr('src',this.href).load(function() {
$('#mainImage').attr('src', i.attr('src'));
$('#imageWrap').css('background-image', 'none');
$('#mainImage').fadeIn();
});
return false;
});
});
</script>
我得到了有效的代码,尽管它们每个都做一些不同的事情,但是它们执行了我需要他们做的事情。 唯一的问题是IE不想阅读代码来完成我需要做的事情...我缺少了什么? 提前致谢!
IE6版本中的右括号过多,请参见此处:
});
}; <- delete me
删除};
你应该很好:)
编辑:您也有一个无赖{
开头,也摆脱它,它在这里:
{ <- delete that!
//--my code
$(document).ready(function()
{
您的document.ready()外部的左括号和右括号是代码的一部分吗?
删除第一个
{
还有最后一个
};
您无需将所有内容都用大括号括起来。
交换这两个:
$('<img />').attr('src',this.href).load(function()
应该
$('<img />').load(function(){...}).attr('src',this.href)...
这样,一旦图像被缓存,它就可以在IE6-IE8中工作。
引用此答案: 检查动态加载的图像是否完整
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.