美文网首页前端手册程序员
Safari中JS控制页面滚动失效

Safari中JS控制页面滚动失效

作者: SPEIKE | 来源:发表于2018-08-16 14:17 被阅读51次
  • 前两天刚碰到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 元素

相关文章

网友评论

    本文标题:Safari中JS控制页面滚动失效

    本文链接:https://www.haomeiwen.com/subject/piznbftx.html