首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    通过 JS 判断页面是否有滚动条的简单方法

    前言 最近在写插件的过程中,需要使用 JS 判断是否有滚动条,搜了一下,大致方法都差不多,但都有些啰嗦,代码不够简洁。最终通过参考不同方法,写了一个比较简单的方法。...判断滚动条的需求在弹窗插件中用的较多,因为弹窗大多会添加 overflow: hidden 的属性,如果页面比较长的话,添加这个属性之后页面会有晃动。...为了增强用户体验,通过判断是否有滚动条而添加 margin-left 属性以抵消 overflow: hidden 之后的滚动条位置。...判断是否有滚动条的方法 其实只需要一行 JS 就可以,测试兼容 IE7 function hasScrollbar() { return document.body.scrollHeight >...计算滚动条宽度的方法 还是以弹窗为例,因为 IE 10 以上以及移动端浏览器的滚动条都是不占据页面宽度的透明样式(其中 IE 10 以上浏览器可以通过 CSS 属性还原原始的滚动条样式),所以为了进一步增强用户体验

    8.4K90

    Vue.js项目刷新当前路由(页面)的方法与实践

    前言 越来越多的前端项目使用MVVM框架Vue.js进行架构开发,充分利用了Vue.js的数据驱动、双向数据绑定、组件化开发以及其优秀的社区生态(官网+第三方扩展支持)等能力。...Vue.js在提升性能方面着重的使用了组件复用能力,极大的优化了DOM更新的速度,提升了用户体验。...使用Vue-Router在进行路由配置时也会带来些问题: 重新进入当前路由时,页面是不进行刷新的 在进行列表类数据操作时:新增、删除、编辑时可能需要让当前页面刷新 下面就跟随胡哥的风骚走位,一起来探究刷新当前路由...(页面)的方式 方法一:暴力解决-强制整个页面进行刷新 使用this....$router.go(0)函数,可以强制刷新当前页面 使用window.location.href或者window.location.reload(),强制刷新当前页面 问题: 此两种处理都会是当前页面进行刷新

    9.3K20

    React Router 使用 Url 传参后改变页面参数不刷新的解决方法

    问题 今天在写页面的时候发现一个问题,就是在 React Router 中使用了 Url 传参的功能,像这样: export class MainRouter extends React.Component...来获取 url 参数的值,但是我发现如果你在这个 url 下只将 url 中的参数部分改变,比如 channelId 从 1 变成 2 的时候,页面并不会重新渲染。...解决办法 查阅资料后发现这样的根本原因是 props 的改变并不会引起组件的重新渲染,只有 state 的变化才会引起组件的重新渲染,而 url 参数属于 props,故改变 url 参数并不会引起组件的重新渲染...后来发现React的组件中有一个可复写的方法 componentWillReceiveProps(nextProps) { ... } 这个方法可以在 React 组件中被复写,这个方法将会在 props...改变的时候被调用,所以你可以使用这个方法将 nextProps 获取到,并且在这个方法里面修改 state 的内容,这样就可以让组件重新被渲染。

    4.2K30

    从局部刷新到节省算力,微软在省钱上从不叨叨

    如果标签前后是不同的页面,那么很明显我们需要等待刷新一点点时间,因为所有的视觉效果都需要刷新,请看滚动条,每次点击跳转都重新开始: ?...而如果是同一页面上进行“局部切换”,那么你会发现实际上只有一部分视觉对象会改变,而其他的视觉对象都是根本不动的,从滚动条上可以看出是连续的: ?...以上的例子右上角图表切换只需两个标签和4个视觉对象来搞定即可。 而如果要实现同一页面上两个位置的图表分别刷新又需要几个视觉对象几个标签呢?这个就比较麻烦了: ?...然而,很明显,这样是浪费了很多资源,所以Power BI的机制是既然刷新前后有同一个视觉对象,而且视觉对象的值还不变,那么我就干脆不刷新,保持不变就好。...同样方式处理的自然还有用到CALCULATE的度量值中的筛选器,如果内层筛选器和外层筛选器是针对同一个表的同一字段,那么CALCULATE不会对该字段计算两次上下文,而是会直接先叠加这两个筛选器后再进行计算

    68351

    微信小程序开发学习笔记(二)——小程序框架、组件、WXML

    // pages/counter/index.js Page({ /** * 页面的初始数据 */ data: { count:100 }, onCount(){...lower-threshold number/string 50 否 距底部/右边多远时,触发 scrolltolower 事件 1.0.0 scroll-top number/string 否 设置竖向滚动条位置...1.0.0 scroll-left number/string 否 设置横向滚动条位置 1.0.0 scroll-into-view string 否 值应为某子元素id(id不能以数字开头)。...设置哪个方向可滚动,则在哪个方向滚动到该元素 1.0.0 scroll-with-animation boolean false 否 在设置滚动条位置时使用动画过渡 1.0.0 enable-back-to-top...widthFix 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变 heightFix 缩放模式,高度不变,宽度自动变化,保持原图宽高比不变 2.10.3 top 裁剪模式,不缩放图片,

    2K40

    学习滚动插件iScroll的简单使用

    iScroll介绍 iScroll是一个高性能,资源占用少,无依赖,跨平台的javascript上拉加载,下拉刷新的滚动插件,目前版本v5.2.0。...目前有以下版本: iscroll.js,这个版本是常规应用的脚本。它包含大多数常用的功能,有很高的性能和很小的体积。 iscroll-lite.js,精简版本。...它不支持快速跳跃,滚动条,鼠标滚轮,快捷键绑定。但如果你所需要的是滚动(特别是在移动平台) iScroll 精简版 是又小又快的解决方案(这个能应付大多数场景)。...iscroll-probe.js,探查当前滚动位置是一个要求很高的任务,这就是为什么我决定建立一个专门的版本。如果你需要知道滚动位置在任何给定的时间,这是iScroll给你的。...iScroll使用 页面引用 js"> HTML结构

    2.9K30

    移动端H5坑位指南

    每个移动端浏览器的滚动条宽度都有可能不一致,甚至不一定占位置,通过以下方式能间接计算出滚动条的宽度。100vw为视窗宽度,100%为滚动容器内容宽度,相减就是滚动条宽度,妥妥的动态计算。...弹窗打开后内部内容无法滚动 弹窗关闭后页面滚动位置丢失 Webview能上下滑动露出底色 当打开弹窗时给声明position:fixed;left:0;width:100%并动态声明top。...声明position:fixed会导致滚动条消失,此时会发现虽然无滑动穿透,但页面滚动位置早已丢失。...点击移动端浏览器的前进按钮或后退按钮,有时不会自动执行旧页面的JS代码,这与往返缓存有关。...在输入框聚焦时获取页面当前滚动条偏移量,在输入框失焦时赋值页面之前获取的滚动条偏移量,这样就能间接还原页面滚动条偏移量解决页面高度坍塌。

    3.5K10
    领券