jquery Slidingown делает очередь - PullRequest
0 голосов
/ 26 ноября 2011

Я перемещаю некоторый контент, когда пользователь наводит на него курсор мыши, и скользит по нему.Моя проблема в том, что когда я часто двигаю мышь, пока она не скользит или не скользит, она не отображается.Означает, что создает очередь.

$(function(){
    $('div[tooltip="true"]').hover(
        function(e){
            x = e.clientX;
            y = e.clientY;
            newX = x + 10;
            newY = y + 5;
            $('#tool_tip_text_content').css({'left':newX, 'top':newY});
            html_content = '<p>Some Html content</p>';
            $('div#tool_tip_text_content').html(html_content);
            $('#tool_tip_text_content').slideDown(500);
        },
        function(e){
            $('div#tool_tip_text_content').html('');
            $('#tool_tip_text_content').slideUp(0);
        }
    );
});

1 Ответ

1 голос
/ 26 ноября 2011

Вы должны использовать jQuery.stop , чтобы остановить текущую очередь в действии.Ваш код должен выглядеть так:

$(function(){
    $('div[tooltip="true"]').hover(
        function(e){
            x = e.clientX;
            y = e.clientY;
            newX = x + 10;
            newY = y + 5;
            $('#tool_tip_text_content').css({'left':newX, 'top':newY});
            html_content = '<p>Some Html content</p>';
            $('div#tool_tip_text_content').html(html_content);
            $('#tool_tip_text_content').stop(true, true).slideDown(500);
        },
        function(e){
            $('div#tool_tip_text_content').html('');
            $('#tool_tip_text_content').stop(true,true).slideUp(0);
        }
    );
});
...