Javascript 仅在桌面计算机上显示DOM元素时如何避免闪烁?
我只想在用户使用桌面计算机时显示DOM元素。不符合屏幕的尺寸;一台1300px宽的台式计算机需要显示该元素,而一台1366px宽的iPad则不能 我当前的解决方案是以下jQuery代码:Javascript 仅在桌面计算机上显示DOM元素时如何避免闪烁?,javascript,html,css,Javascript,Html,Css,我只想在用户使用桌面计算机时显示DOM元素。不符合屏幕的尺寸;一台1300px宽的台式计算机需要显示该元素,而一台1366px宽的iPad则不能 我当前的解决方案是以下jQuery代码: $( document ).ready(function() { if($.browser.mobile) { $("#desktop-only").remove(); } }); 它可以工作,但它意味着元素#仅桌面的闪烁 任何类似使用/
$( document ).ready(function() {
if($.browser.mobile) {
$("#desktop-only").remove();
}
});
它可以工作,但它意味着元素#仅桌面
的闪烁
任何类似使用/Android | webOS | iPhone | iPad | iPod | BlackBerry | IEMobile | Opera Mini/i.test(navigator.userAgent)
的操作都会闪烁
肯定存在更好的解决方案?写这个问题激发了一个解决方案 如果用户在移动设备上,我没有从DOM中删除元素,而是设置
display:none如果用户不在移动设备上,则在元素上显示代码>
$( document ).ready(function() {
if(!$.browser.mobile) {
$("#subscription-web").css("display", "block");
}
});
在手机上不再闪烁,元素会在桌面上弹出。因此,它仍然有点闪烁,但以一种不那么令人讨厌的方式
欢迎有更好的解决方案 您还可以使用jQuery函数,如。
和隐藏
$(选择器).show(速度、轻松、回调)CSS媒体查询FTW,为什么要使用JavaScript呢?但这些只考虑屏幕尺寸,不是吗?是的。您还使用了jQuery中不推荐使用的功能。请查看使用-->的情况,并在默认情况下使元素显示:none
!无论你用JavaScript做什么,都会闪烁,因为你会根据它的呈现时间来显示或隐藏它。没有闪烁,现在随着内容的加入,东西会跳跃。是的,这就是我所说的“有点闪烁”,我现在很满意。
$( document ).ready(function() { if(!$.browser.mobile) { $("#subscription-web").show('slow')} }