簡體   English   中英

如何在jquery中克服動畫懸停效果中的這個問題?

[英]How to overcome from this issue in jquery for an animated hover effect?

在以下鏈接中,有一個動畫懸停效果的示例。 如果我們將鼠標懸停在特定列表中,則工具提示將顯示並消失,這里沒有問題。 如果我們在特定列表中連續地上下移動鼠標,則工具提示會出現幾次(例如,如果我們將鼠標移動十次,則工具提示也會出現十次)。

如何克服這個問題(即)如果我們將特定列表懸停多次,工具提示應該只出現一次。

我通過更改腳本來嘗試它(通過添加stop()函數)

    $(".menu a").hover(function() {
    $(this).next("em").stop().animate({opacity: "show", top: "-75"}, "slow");

但它失敗了....

使用.stop(true, true)來停止動畫。 檢查工作演示

$(document).ready(function(){
    $(".menu a").hover(function() {
        $(this).next("em").stop(true, true).animate({opacity: "show", top: "-75"}, "slow");
    }, function() {
        $(this).next("em").stop(true, true).animate({opacity: "hide", top: "-85"}, "fast");
    });
});

闡釋:

.stop(true, true)將刪除排隊的動畫並立即完成當前動畫。

 .stop( [clearQueue] [, jumpToEnd] ) 

clearQueueA布爾值,指示是否也刪除排隊的動畫。 默認為false。

jumpToEndA布爾值,指示是否立即完成當前動畫。 默認為false。

使用$(“。menu li”)。將鼠標懸停在工具提示上一次顯示。

您只能指定一個懸停事件,並且只要有鼠標中心就會觸發該mouseenter ,您不能指定類似“只有先前的懸停在5秒前向東方點擊”時才會觸發的情況。 您可以使用Hoverintent插件指定僅當鼠標位於0.5秒內時才會觸發懸停。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM