美文网首页前端手册程序员
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