我有以下两段代码,这些代码在IE8和以下代码中不起作用。
services.each(function() {
$(this).hover(function() {
services.removeClass('active');
$(this).addClass('active');
});
});这会失败,因为所有4个服务在任何时候都具有活动类。另外,在下面的代码中,回调函数不会添加完成的类。
webform.click(function() {
if(!$(this).hasClass('expanded')) {
$(this).addClass('expanded');
$(this).animate({
marginLeft: '-25%',
width: "50%",
minWidth: '400px',
maxWidth: '700px',
padding: '0',
minHeight: "580px",
height: 'auto',
borderRadius: "0"
}, 1000, function () {
$(this).addClass('completed');
});
}
});谁能告诉我如何修复这些问题,更重要的是,我应该做什么,以确保我的代码是IE兼容的。
仅供参考,对于任何有类似jQuery/IE问题的人,我有一个很大的问题,就是在最后一个选项后加一个逗号,例如在上面的borderRadius: "0"之后,这在所有浏览器中都被忽略了,除了IE它会大发雷霆!!
发布于 2013-01-15 19:40:05
Hover问题-
hover()有两个参数,一个用于mouseenter,另一个用于mouseleave。如果您只提供一个函数作为参数,它将为两个事件运行。
在元素集合上运行方法不需要each,jQuery将在内部循环该集合的所有元素。
在你的hover()上试试这个
services.hover(function() {
/* add on mousenter, remove on mouseleave */
$(this).toggleClass('active');
});使用这两个参数的替代方法:
services.hover(function() {
/* add on mousenter */
$(this).addClass('active');
}, function(){
/*remove on mouseleave */
$(this).removeClass('active');
});接口参考:http://api.jquery.com/hover
https://stackoverflow.com/questions/14336591
复制相似问题