Safari中JS控制页面滚动失效

  • 前两天刚碰到Safari中点击事件的问题 , 过了没多久又碰到滚动失效的事件
  • 类库: jquery
 $(document).on('click','.nav li', function(e){
      var id = $(this).attr('data-id')
      if (id === 'index') {
        $(document).scrollTop(0)
        window.location.reload()
        return
      }
      if (id === 'notice') {
        return
        // window.location.href = 
      }
      var leng = $('#'+id).offset().top - 99
// 错误写法
// 这种写法 在window电脑中没有任何问题, 但在Safari中不支持
      $('html').animate({
        'scrollTop':  leng
      },400)
      e.preventDefault()
    })
// 兼容写法
    $('html,body').animate({
        'scrollTop':  leng
      },400)
      e.preventDefault()
    })
  • Safari 中 滚动事件默认不支持 html, 请换成body元素 或者 document 元素
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容