Эффективность QTip, помещать QTip на 1000 элементов очень медленно в IE8 - PullRequest
1 голос
/ 12 января 2012

У меня есть страница с несколькими сотнями элементов, которые требуют QTip при наведении курсора.Это убивает IE8, хотя другие браузеры, кажется, работают хорошо.

Чтобы бороться с этим, я пытаюсь создать QTips, когда пользователь наводит курсор на контейнер элемента, так что он делает только ~ 100-200за раз, а не более 1000+ одновременно.

$('#color-family /*ID of body*/> .strctr-contain /*containing class*/').live('mouseover', function(){
   $(this).children('.palette .color-swatch, .stain-swatch, .color-swatch-dash').qtip({//foo}
})
 });

Когда вы наводите курсор мыши на контейнер, эта функция срабатывает, однако, когда вы наводите курсор мыши на дочерние элементы, она просто отключает эту функциювместо отображения всплывающей подсказки.

Ответы [ 3 ]

2 голосов
/ 12 января 2012

И, возможно, было бы лучше использовать «одну» функцию, она сделает все за вас.

$('#color-family /ID of body/> .strctr-contain /containing class/').one('mouseover', function(){

     $(this).children('.palette .color-swatch, .stain-swatch, .color-swatch-dash').qti({//foo} ); 

});
0 голосов
/ 12 января 2012

Хорошо, если бы мы могли использовать функцию просто связывания, я бы попытался отменить действие после первого создания qtips:

$ ('# color-family / ID тела /> .strctr-содержат / содержащий класс /'). Bind ('mouseover', function () {

$ (this) .children ('. Palette .color-swatch, .stain-swatch, .color-swatch-dash'). Qtip ({// foo}); $ (Это) .unbind ( 'Mouseover');

}); * +1011 *

0 голосов
/ 12 января 2012

Это приведет к удалению привязки при наведении курсора мыши, когда она была запущена один раз ...

$('#color-family /*ID of body*/> .strctr-contain /*containing class*/').on("mouseover", function(){
   $(this).children('.palette .color-swatch, .stain-swatch, .color-swatch-dash').qtip({ //foo }).off("mouseover");
});

Нужно просто добавить (отключить) привязку к ней.

...