gpt4 book ai didi

javascript - 如果主体宽度最大为 500px,我想添加一个按钮

转载 作者:行者123 更新时间:2023-12-01 02:54:40 24 4
gpt4 key购买 nike

每当我尝试调整浏览器窗口大小时,该按钮都会出现多次,我该如何解决这个问题。我希望如果浏览器大小调整为 500px 或更小应该添加 div,如果宽度超过 500px,则应删除 div。这是JS文件

function sizer(){const mq = window.matchMedia( "(max-width:500px)" )

if(mq.matches)
{
let loginDiv= document.createElement('div'),
aTag = document.createElement('a');
aTag.setAttribute('href','#');
aTag.innerHTML="Login/Sign Up";
loginDiv.className='login';// style in search.css
document.getElementsByClassName('drp')[0].appendChild(loginDiv);
loginDiv.appendChild(aTag);

}
else{
document.getElementsByClassName("login").remove();
}
}

这里 Sizer 是从 body 标签调用的,如下所示

<body onresize="sizer()">

Picture of viewport

最佳答案

您可以使用媒体查询@media (max-width: 500px)根据屏幕宽度有条件地显示/隐藏按钮。对于此类用例,无需使用 Javascript。

#myButton {
display:none;
}

@media (max-width: 500px) {
#myButton {
display:block;
}
}
<button id="myButton">
Click me
</button>

对于 JS,您可以使用 $(window).on("resize",... 处理程序,如下所示:

$(window).on("resize", function() {
console.log("Resizing: ", window.innerWidth);
if(window.innerWidth < 500) {
$("#myButton").show();
} else {
$("#myButton").hide();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="myButton">
Click me
</button>

根据窗口宽度将元素动态注入(inject)到 DOM 中:

$(window).on("resize", function() {
console.log("Resizing: ", window.innerWidth);
if(window.innerWidth < 500) {
if($("#myDiv > #myButton").length == 0) {
var button = document.createElement("button");
button.innerText = "Click me";
button.id = "myButton";

$("#myDiv").append(button);
}
} else {
$("#myButton").remove();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="myDiv">
Div.
</div>

关于javascript - 如果主体宽度最大为 500px,我想添加一个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46783399/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com