jQuery .animate() marginLeft 在 IE8 及更低版本中不起作用 - 参数无效
Posted
技术标签:
【中文标题】jQuery .animate() marginLeft 在 IE8 及更低版本中不起作用 - 参数无效【英文标题】:jQuery .animate() marginLeft not working in IE8 and below - invalid argument 【发布时间】:2012-05-19 12:19:19 【问题描述】:我有一个 IE 特定的问题。从好的方面来说,它适用于所有其他浏览器。
点击应该执行简单动画功能的.close_button_page
图像时会出现问题,将div
向左移动。
在 IE 8 及更低版本中,它只是在控制台中显示 invalid argument。我在网上发现了类似的问题,但没有解决问题。
注意:目前还有许多其他 IE 错误(z-index
等),因此请忽略。
HTML:
<div id="content-left">
<img class="close_button_page" src="assets/images/close_button.png"/>
<h2>Our process</h2>
<h3>Even smaller title to this section</h3>
<p>Dummy text to show that this is the home of Dukelease and that this site is of the utmost quality and will provide hours of fun by flicking through images.</p>
</div>
CSS:
#content-left
-webkit-box-shadow:#000000 1px 1px 5px;
border-top-color:#FFFFFF;
border-top-style:solid;
border-top-width:3px;
box-shadow:#000000 1px 1px 5px;
float:left;
padding-bottom:10px;
padding-left:10px;
padding-right:10px;
padding-top:10px;
position:relative !important;
width:230px;
z-index:10;
style.css (line 562)
#content-left, .bg_white
background-color:rgba(255, 255, 255, 0.949219);
JavaScript:
$(".close_button_page").click(function()
$('#content-left').animate(
marginLeft: '-260px'
, 1300, function()
$('.open_button_page').fadeIn(1000);
);
);
【问题讨论】:
首先,尝试删除"margetLeft"
周围的引号或将其更改为 "margin-left"
要尝试的另一件事是将 -260 更改为“-260px”
之前试过没有成功
【参考方案1】:
尝试替换这个:
$(".close_button_page").click(function()
$('#content-left').animate(
marginLeft: '-260px'
, 1300, function()
$('.open_button_page').fadeIn(1000);
);
);
用这个:
$(".close_button_page").click(function()
$('#content-left').toggle('slide');
);
在这里测试http://jsfiddle.net/ollie101/RuVZ3/5/
【讨论】:
这非常有效。这不是 animate() 但显然有问题,所以只需使用 toggle()!以上是关于jQuery .animate() marginLeft 在 IE8 及更低版本中不起作用 - 参数无效的主要内容,如果未能解决你的问题,请参考以下文章