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

时间:2018-04-13 17:28:12

标签: javascript html5 css3

我想仅在用户使用台式计算机时才显示DOM元素。不是根据屏幕的尺寸; 1300px宽的台式计算机需要显示该元素,而1366px宽的iPad则不能显示。

我目前的解决方案是下面的jQuery代码:

    $( document ).ready(function() {
        if($.browser.mobile) {
            $("#desktop-only").remove();
        }
    });

它有效,但它意味着元素#desktop-only的闪烁。

类似使用/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)的任何内容仍然会闪烁。

当然有更好的解决方案吗?

2 个答案:

答案 0 :(得分:1)

写这个问题激发了解决方案......

如果用户在移动设备上,我不会从DOM中删除元素,而是在元素上设置display: none;,然后在用户不在移动设备上时显示该元素。

    $( document ).ready(function() {
        if(!$.browser.mobile) {
            $("#subscription-web").css("display", "block");
        }
     });

移动设备上不再闪烁,元素会弹出桌面视图。所以它仍然有点闪烁,但是以一种不那么恼人的方式。

欢迎任何更好的解决方案!

答案 1 :(得分:0)

您也可以使用jQuery函数。 show()和hide()

  $( document ).ready(function() { if(!$.browser.mobile) { $("#subscription-web").show('slow')} }

$(选择器).show(速度,缓和,回调)