jQuery悬停到设置位置左边在IE中不起作用?

时间:2013-05-07 15:21:20

标签: jquery css internet-explorer jquery-hover

我遇到一个问题,使得以下代码可以在任何版本的IE中运行。应该显示的div根本不会出现悬停...

$('.trigger').hover(function() {
    $(this).css({'height':'390px','width':'475px'});
    $(this).find('.preview_window').css('left', '0px');
},
function(){
    $(this).css({'height':'29px','width':'29px'});
    $(this).find('.preview_window').css('left', '-9999px');
}
);

GOT是一个非常愚蠢的东西......看看它如何在除了IE之外的所有东西上运行。任何人都能解释一下吗?

3 个答案:

答案 0 :(得分:0)

我认为你必须将position属性添加到该div:

preview_window {
    position: relative;
}

答案 1 :(得分:0)

您可能需要专门定义位置方法,如下所示:

$('.trigger').hover(function() {
    $(this).css({'height':'390px','width':'475px'});
    $(this).find('.preview_window').css({'position':'absolute','left':'0px'});
},
function(){
    $(this).css({'height':'29px','width':'29px'});
    $(this).find('.preview_window').css({'position':'absolute','left':'-9999px'});
});

答案 2 :(得分:0)

原来IE只是不喜欢我在函数中放置换行符...

以下是IE显然可以更好地理解的更改代码。

$('.trigger').hover(function() {
    $(this).css({'height':'390px','width':'475px'});
    $(this).find('.preview_window').css('left', '0px');
},function(){ //This was also on two lines before
    $(this).css({'height':'29px','width':'29px'});
    $(this).find('.preview_window').css('left', '-9999px');
}); // This was on two lines before

我知道这是愚蠢的事。现在一切都有效。 = /