簡體   English   中英

jQuery問題| 需要兩次觸發事件才能正常工作

[英]jQuery Issues | Need To Fire Event Twice In Order to Work Properly

我將兩個jQuery插件用於響應式和分類提要。 這些插件就像許多網格布局插件一樣,在找出窗口大小以定位所有網格元素之后,使用絕對位置。 我的問題是我的網格元素具有下拉選項,該選項最初的高度為0px,onclick的高度為300px。 因此,當下拉菜單擴展其父對象下方的項目時,由於其已經在屏幕的該區域中設置了絕對位置,因此可以感覺到它以下拉菜單的高度0加載網格項。 只要有一個窗口調整大小,它就會重新計算所有內容並重新組織網格。 我需要找到一種方法來運行該函數,該函數使用onclick事件調整所有內容的大小,以便正確地重新排列所有內容。 現在,只有單擊兩次而不是單擊一次,我才能使它起作用,您知道為什么會發生這種情況。

這是我現在想要嘗試觸發調整大小的內容

function reply_dropdown_clicked() {
    $( ".replies_feed" ).animate( {"height" : "300px"} );
    window.dispatchEvent(new Event('resize'));
    console.log("resize");
}

$( ".meta__price ul li:nth-child(3)" ).click(function() {
    reply_dropdown_clicked();
});

這是resze的事件監聽器

// window resize / recalculate sizes for both flickity and isotope/masonry layouts
    window.addEventListener('resize', throttle(function(ev) {
        recalcFlickities()
        iso.layout();
    }, 50));

$(window).trigger('resize'); 是您要找的東西嗎?

暫無
暫無

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

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