如何在特定的屏幕分辨率范围发生时追加一次html元素
How to append html element one time when specific screen resolution range occurs?
我的html:
<div id="log">
</div>
我jQuery: $(function() {
var win = $(window);
resizeHandler();
win.resize(resizeHandler);
function resizeHandler() {
if (win.width() <= 700) {
$("#log").append("<div>" + "success" + "</div>");
}
}
});
我希望当出现特定的屏幕分辨率范围时,<div>success</div>
元素将在"log"div元素中显示一次。例如:从1像素到700像素的屏幕分辨率,成功必须在"log"div元素中显示一次,当屏幕分辨率超出1像素到700像素的范围时,必须从"log"div元素中删除<div>success</div>
。代码应该是什么样的?
$(function() {
var win = $(window);
resizeHandler();
win.resize(resizeHandler);
function resizeHandler() {
if (win.width() >= 700) {
if ($('#log').children().length == 0)
$("#log").append("<div class='suc'>" + "success" + "</div>");
} else {
$('.suc').remove();
}
}
});
如果你真的想添加一个元素。但是,我也会使用媒体查询,并隐藏/显示所需的元素…
根据评论中提供的信息,您需要一个简单的媒体查询。不需要JS。如果这是你真正需要做的,那么@nevermind的答案是完美的。
就像这样修改你的代码。
HTML:<div id="log">
<div id="success">Success</div>
</div>
CSS: #success {
display: none;
}
@media only screen and (max-width: 700px) {
#success {
display: block;
}
}
您可以创建一个布尔变量,并在追加时将其设置为true+在你的resizeHandler中创建一个else语句来处理其他屏幕尺寸
但是在现实世界的例子中,我可以通过使用CSS mediaqueries来解决这个问题。
相关文章:
- jQuery追加x元素的列表
- jquery追加元素位置始终为0
- 如何将动态追加元素的多个值存储到单个 var 中,然后检索到函数中
- 仅追加元素一次
- Masonry v3 在追加元素时是否仍然支持飞入过渡
- JQuery 复制/追加元素,删除了基本对象
- 追加元素,获取追加两次
- 追加元素AFTER加载
- 为什么在重新追加元素时单击事件不起作用
- jquery / 在达到最大追加数后自动删除追加元素
- D3只在元素不存在时追加元素
- 如何使用Jquery或Javascript瞄准追加元素,或者如何将追加元素添加到DOM中
- 在angular.js中通过作用域变量显示或追加元素
- 追加元素的最大数量
- 如何借助该事件处理程序创建的元素在事件处理程序之外动态追加元素?
- 如何多次追加元素(向下滑动)
- 使用$()追加元素的问题
- 如果有人在jquery或js中选择了一个特定的选项值,如何触发追加元素
- 当追加元素到
- 移除和追加元素后无法识别全局变量