![](/img/trans.png)
[英]Why do not I reload the data when I scroll down and do it when I go back to the top of the page in my infinite scroll?
[英]Why do I go to the top of the page when I open my fixed navigation menu?
我有一個高度為 100% 的固定側導航菜單。 當您單擊角落的漢堡包時,其寬度將設置為 15%-100%,具體取決於您的窗口大小。 當您單擊 x 時,它的寬度設置為 0。百分比是相對於主體設置的。 在我添加內容以便可以滾動之前,這似乎工作得很好。 當您向下滾動然后打開/關閉側導航時,它會將您帶回頁面頂部。
我對 JavaScript 不是很熟悉,所以那里可能有問題。 我搜索了 Google 和 StackOverflow,但沒有找到任何東西。 我可能沒有在尋找正確的問題。 我嘗試將所有百分比更改為 vh 和 vw 並沒有改變。 我也不認為這是瀏覽器問題(我使用 Chrome),因為我也在 Microsoft Edge 中嘗試過,並且產生了相同的結果。
<body onresize="WindowResize()">
<!--side-menu-->
<nav class="navbar">
<span class="open-Slide">
<a href="#" onclick="openSlideMenu()">
<span id="hamburger" class="icon-menu"></span> /*an Icon font I have downloaded*/
</a>
</span>
<div id="side-menu">
<a href="#" class="btn-close" onclick="closeSlideMenu()">×</a>
<a href="#">Home</a>
<a href="#">Portfolio</a>
<a href="#">Blog</a>
</div>
</nav>
<!--end of side-menu-->
//side-menu script
var sideMenuWidth;
var sideMenuIsActive = true;
window.onload = function() {
if (window.innerWidth > 1143) {
sideMenuWidth = '15%';
}else{
sideMenuWidth = '100%';
}
}
function openSlideMenu () {
document.getElementById('side-menu').style.width = sideMenuWidth;
sideMenuIsActive = true;
}
function windowResize() {
if (window.innerWidth > 1143) {
sideMenuWidth = '15%';
if (sideMenuIsActive == true) {
document.getElementById('side-menu').style.width = sideMenuWidth;
}
}else{
sideMenuWidth = '100%';
if (sideMenuIsActive == true) {
document.getElementById('side-menu').style.width = sideMenuWidth;
}
}
}
function closeSlideMenu() {
document.getElementById('side-menu').style.width = '0';
sideMenuIsActive = false;
}
//end of side-menu script
#side-menu {
width:15%;
z-index: 1;
transition: 0.5s;
top:0;
left:0;
background-color: black;
height: 100%;
position: fixed;
}
#hamburger {
display: absolute;
top: 0;
left:0;
margin: 1rem 0 0 1rem;
position: fixed;
color: black;
}
任何幫助是極大的贊賞!
您需要防止鏈接的默認行為 attr href="#" 或刪除 href https://www.w3schools.com/jsref/event_preventdefault.asp
如果您需要交互式元素,但不需要href
屬性,請改用<button>
元素並為此元素應用所需的 CSS。 這是可訪問性問題的更好選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.