【问题标题】:Make sticky work only on desktop version仅在桌面版本上进行粘性工作
【发布时间】:2013-11-05 00:20:53
【问题描述】:

我的一个 div 上有这个粘性代码。我想知道是否可以只在台式机上工作......我不希望它在手机或平板电脑上粘住。

var $window = $(window),
   $stickyEl = $('#single_text'),
   elTop = $stickyEl.offset().top;

$window.scroll(function() {
    $stickyEl.toggleClass('sticky', $window.scrollTop() > elTop);
});

【问题讨论】:

  • @Blazemonger 我认为modernizr 不会告诉您网站是否是移动/平板电脑。
  • 不,没有 100% 可靠的方法来判断您是否使用智能手机/平板电脑,部分原因是定义变得模糊 - 您认为 Microsoft Surface 是哪种?相反,您需要考虑哪些功能 是重要的(触摸屏、小屏幕、Adobe Flash 等)并改为检测它们。您的问题无法回答,因为您尚未定义您认为的移动/平板设备是什么。

标签: jquery wordpress twitter-bootstrap sticky


【解决方案1】:

逻辑本身很简单,但考虑到所有设备、屏幕尺寸、用户代理等,如今准确检测移动/平板设备有点复杂。

基本上,您需要测试是否是移动设备/平板电脑,将其设置为一个变量 (true/false),然后如果它不是移动设备,则执行您的 JavaScript。

var isMobile = false;
if(mobileDetection == true) { // mobileDetection is the missing piece
    isMobile = true;
}

if(!isMobile) {
    // execute desktop-only JS
}

我建议阅读这些材料:

【讨论】:

    猜你喜欢
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多