jQuery - проблема совместимости с Internet Explorer 7? - PullRequest
0 голосов
/ 09 февраля 2009

У меня есть этот код, который динамически перемещает Div над изображением при наведении на него курсора. Он отлично работает в Firefox и Google Chrome, но в Internet Explorer 7 все работает очень медленно и ничего не происходит.

Код jquery:

jQuery.fn.masque = function(class) {

$(this).hover(function(){
$(this).find(class).stop().animate({height:'100px',opacity: '0.9'},400);
},function () { 
$(this).find(class).stop().animate({height:'0',opacity: '0'}, 300);
});
}
$(document).ready(function(){$('.thumb').masque('.masque');});

HTML:

<div class="thumb bg25">
    <a href="#"><img src="img/image.jpg" alt="Something" /></a>
        <div class="masque">
            <h3 class="someclass"><a href="#" >Some text here</a></h3>
            <p class="someclass">Some text here</p>
            <p class="someclass">Some text here</p>
        </div>
</div>

А это CSS:

.thumb {float:left; margin:0 14px 14px 0; width:126px; height:186px; padding:10px; position:relative;}

.masque{position:absolute; background:#212326; width:118px; bottom:10px; height:0; padding:4px; display:none;}

Я запускаю его с локального компьютера, а не с сервера.

.. поэтому я думаю, что я делаю что-то не так и, возможно, есть эффективный способ достижения этого эффекта. Спасибо !!!

1 Ответ

1 голос
/ 09 февраля 2009

Вы пытались снять остановку ()? Я полностью стреляю в темноте, но я думаю, что IE7 может выстраивать вызовы по-другому. Сейчас проверю.

Обновление

После тестирования я получаю несколько странных ошибок в IE7 из-за переменной с именем class. Это должно быть какое-то ключевое слово. Попробуйте это.

jQuery.fn.masque = function(classSelector) {
        $(this).hover(function(){
                $(this).find(classSelector).stop().animate({height:'100px',opacity: '0.9'},400);
        },function () {
            $(this).find(classSelector).stop().animate({height:'0',opacity: '0'}, 300);
        });
};

Обновление

Вы пробовали использовать slideUp и slideDown?

jQuery.fn.masque = function(classSelector) {
    $(this).hover(function(){
        $(this).find(classSelector).slideDown();
    },function () {
        $(this).find(classSelector).slideUp();
    });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...