Javascript 仅在桌面计算机上显示DOM元素时如何避免闪烁?

Javascript 仅在桌面计算机上显示DOM元素时如何避免闪烁?,javascript,html,css,Javascript,Html,Css,我只想在用户使用桌面计算机时显示DOM元素。不符合屏幕的尺寸;一台1300px宽的台式计算机需要显示该元素,而一台1366px宽的iPad则不能 我当前的解决方案是以下jQuery代码: $( document ).ready(function() { if($.browser.mobile) { $("#desktop-only").remove(); } }); 它可以工作,但它意味着元素#仅桌面的闪烁 任何类似使用/

我只想在用户使用桌面计算机时显示DOM元素。不符合屏幕的尺寸;一台1300px宽的台式计算机需要显示该元素,而一台1366px宽的iPad则不能

我当前的解决方案是以下jQuery代码:

    $( 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')} }