2009-05-31 54 views
0

不工作我使用这个代码在我的网站:切换在IE

var panel = $('.couch-hide'); 
    var originalPos = panel.css("right"); 
    panel.toggle(function() {$(this).animate({right:0},1000, 'easeOutBounce');},function(){$(this).animate({right:originalPos},1000);} 

); 

在FF它完美的作品,但在IE浏览器,它不弹出的点击。此外,因为即时通讯使用CSS权利,它显示了水平滚动条,但在FF它不。关于我能做些什么来解决这个问题的任何想法?

+0

您是否检查过在IE中设置了“originalPos”的值? – 2009-05-31 07:50:14

+0

什么是最好的方法来检查?你在谈论变量的权利?让我试着找到一个萤火虫,但对IE来说,我知道那里有一个。 – Coughlin 2009-06-11 13:59:29

回答

1

那么,在Opera,Firefox和IE6/8中对我来说都是一样的。

使用下面的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <title>sandbox</title> 
    <script type="text/javascript" src="jquery.js"></script> 
    <script type="text/javascript" src="jquery.easing.js"></script> 
    <script type="text/javascript"> 
    $(function(){ 
     var panel = $('.couch-hide'); 
     var originalPos = panel.css("right"); 
     panel.toggle(
     function(){$(this).animate({right:0}, 1000, 'easeOutBounce');}, 
     function(){$(this).animate({right:originalPos}, 1000);} 
    ); 
    }); 
    </script> 
    <style type="text/css"> 
    .couch-hide { 
     position: absolute; 
     right: 100px; 
    } 
    </style> 
</head> 
<body> 
    <div class="couch-hide">Click me!</div> 
</body> 
</html> 

文本反弹对屏幕的右侧边缘,然后飞回。

尽管使用toggle来做那似乎很奇怪。至少文档没有提到当你为它提供两个功能时应该发生什么。或者这是jquery.easing.js添加的行为?不熟悉那个。

如果您也提供了HTML和CSS,这将会很有帮助。