jquery Slidedown制作队列

发布于 2024-12-18 06:35:30 字数 708 浏览 2 评论 0原文

当用户将鼠标悬停在某些内容上时,我会向下滑动,并在鼠标移出时向上滑动。我的问题是,当我频繁移动鼠标直到向上滑动或向下滑动时,它不会显示。意味着它正在创建一个队列。

$(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);
        }
    );
});

I am sliding down some content when a user mouse over on it and sliding up on mouse out. My problem is when I move mouse frequently until it's slideup or slidedown it doesn't show. Means it's creating a queue.

$(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);
        }
    );
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉城凉梦凉人心 2024-12-25 06:35:30

您应该使用 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);
        }
    );
});

You should make use of jQuery.stop to stop the current queue in action. Your code should look like:

$(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);
        }
    );
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文