2011-03-18 36 views
1

我正在研究这些富媒体广告的工作,他们在所有浏览器中工作,直到我开始使用jQuery css方法。 IE中没有任何内容显示,昨天我参加会议时这不是问题。我可能链接到的唯一可能是IE处理css的方式不同。任何帮助将不胜感激,这里是我的代码示例。Firefox和IE如何处理jQuery CSS有什么区别?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Molson Canadian Ad Template</title> 

<style type="text/css"> 

body { 
    background-color: #333; 
} 

</style> 

<script src="http://code.jquery.com/jquery-1.5.js"></script> 
<script src="jquery.swfobject.1-1-1.min.js" type="text/javascript"></script> 

<script> 

$(document).ready(

    function() { 

     jsReady = true; 

     banner1 = $('#banner1'); 
     banner1.css({overflow:'hidden', position:'absolute', left:158}); 
     banner1.flash({swf: 'molson1_300x250.swf', width: 300, height: 250, play: true, flashvars: {message:'in'}}); 
    } 
); 

var jsReady = false; 

function isReady() { 

    return jsReady; 
} 

function sendToJavaScript(value) { 

    if(value == "expand"){ 

     banner1.css('left', 0); 
     banner1.flash().remove(); 
     banner1.flash({swf:'molson1_600x250.swf', width:600, height:250, wmode:"transparent"}); 

    }else{ 

     banner1.css('left', 158); 
     banner1.flash().remove(); 
     banner1.flash({swf: 'molson1_300x250.swf',width: 300,height: 250,play: true},function(){this.GotoFrame(71)}); 
    } 
} 

</script> 

</head> 

<body> 
<div id="banner1"></div> 
</body> 
</html> 
+0

到底是什么错呢? – 2011-03-18 16:25:33

回答

0

是否有怎样的Firefox 和IE手柄jQuery的CSS区别吗?

是的。

这一切都知道:

http://www.quirksmode.org/css/contents.html

1. IE 5/6 doesn’t implement overflow: visible correctly. 
2. E 5/6 don’t support position: fixed 
    IE7 has a strange bug; see page. 
+0

我其实认为这个问题的主要目的不在于是否存在任何差异,而是为什么这个特定的例子工作不同。 – anothershrubery 2011-03-18 16:24:43

+0

是的,我的建议是阅读发布的文章,并专门检查我从文章中引用的两个CSS属性,因为它们在IE中有问题。 – slandau 2011-03-18 16:26:00

+0

我在评论后编辑过!公平的...... – anothershrubery 2011-03-18 16:31:29

1

我琢磨出来的家伙,我是有这个问题是我会定义一个变量,像这样

banner1 = $('#banner1'); 

,然后尝试打电话给这样的方法

banner1.css(); 

这工作正常在Firefox,但在IE中你必须调用它像这样

$('#banner1').css(); 
+0

你提到的改变通常不会有什么区别,但我想冒一个猜测。如果使用'var banner1 = $('#banner1');'会发生什么?我问的原因是因为IE浏览器自动将ID作为全局变量在JavaScript中可用(即默认情况下,js中的'banner1'可以使用'id =“banner1”'的元素),它可能是,因为你是基本上试图覆盖这个预先存在的变量'banner1',它失败了..只是一个猜测。 – Pebbl 2013-07-27 08:25:18

相关问题