簡體   English   中英

創建一個下拉菜單,該菜單在頁面頂部向上打開,向下滾動時向下滾動

[英]Creating a drop-down menu that opens upward at the top of the page and then downward when scrolled down

我正在嘗試創建一個下拉菜單,該菜單僅在窗口位於最頂部時才向上打開,而當窗口不在頂部時才向下打開。 我正在嘗試使用IF語句來實現這一點,但是無法使其向下顯示.'show'將向上顯示菜單,而'show2'將向下顯示它。

這是“ show”和“ show2”的CSS。

.show {display:block;
        bottom: 100%;
}
.show2 {display:block;

}

這是JQuery腳本。 如您所見,我試圖在頁面頂部將其切換為“ show”,並希望當用戶從頂部向下滾動1或2時將其更改為“ show2” px的。 又名立即。

當用戶單擊下拉按鈕時,在隱藏和顯示下拉內容之間切換。

if (window.top == window.self) {
    function myFunction() {
        document.getElementById("myDropdown").classList.toggle("show");
    }
} else {
    function myFunction2() {
        document.getElementById("myDropdown").classList.toggle("show2");
    }
}

如果用戶單擊下拉列表,請關閉它

window.onclick = function (event) {
    if (!event.target.matches('.dropbtn')) {

        var dropdowns = document.getElementsByClassName("dropdown-content");
        var i;
        for (i = 0; i < dropdowns.length; i--) {
            var openDropdown = dropdowns[i];
            if (openDropdown.classList.contains('show')) {
                openDropdown.classList.remove('show');
            } else(openDropdown.classList.contains('show2')) {
                openDropdown.classList.remove('show2');
            }
        }
    }
}

歡迎任何幫助,並預先感謝您!

根據問題,您可以有條件地聲明函數,如下所示。

var myFunction;
if (window.top == window.self) {
    myFunction = function () {
        document.getElementById("myDropdown").classList.toggle("show");
    };
} else {
    myFunction = function () {
        document.getElementById("myDropdown").classList.toggle("show2");
    }
}

暫無
暫無

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

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