首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何防止Vue页面局部元素滚动时,页面整体滚动?

我最近遇到了一个问题,就是Vue页面我引入了一个列表组件,这个列表是可以单独滚动的。当我把鼠标移入,开始滚动操作时候,浏览器最右边的滚动条也会开始滚动。...而浏览器的默认行为是,当一个滚动事件发生且子元素滚动到边界时(比如已经滚动到底部或顶部),事件会继续传递给父容器,最终传递到 body,导致页面的整体滚动。...解决方法 为了防止整个页面滚动(即 body 的滚动),你需要使用 e.preventDefault() 来阻止浏览器的默认行为。...阻止链接跳转:点击 标签时,浏览器会跳转到 href 属性指定的地址。调用 e.preventDefault() 可以阻止这种跳转。...总结 浏览器的滚动事件需要用preventDefault() 来阻止,这个事件写在某个页面元素上不会影响该元素的正常滚动。这是个小问题,记录一下,方便下次遇到又忘记了。

70400
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    实现滚动时Header自动隐藏

    这是掘金网页版的头部,当滚动条向下滑动时,主header会隐藏,次级header会吸在页面顶部。...} else if (bottom) { isHidden.value = true } 是关键,当向上滚动时,显示header;向下滚动时,隐藏header。...你可能会发现在这段代码的上面,还有一段不明所以的代码: if (topArrived) { isHidden.value = false return } 当滚动条到顶部时,直接显示header...前者,可以通过判断y值是否为0(或小于0)来实现;而后者,正常来说,滚动到底部时,文档高度-视窗高度应该和滚动条的y值是一致的。...但是在safari里可能不一致,在safari中,当地址栏收缩时,上文的公式成立;但是当地址栏是展开状态时,两者会一个相差地址栏的高度。而地址栏是否展开我没找到判断的方法。

    2.4K30

    使用 requestAnimationFrame 解决滚动点停误触和 scroll 事件延迟

    背景 在手机端网页开发过程中,我们经常会遇到滚动点停误触的问题,最开始想到的解决办法就是判断当前页面(DOM)是否在滚动,如果在滚动,就取消点击或者其他事件。...但是在判断页面是否在滚动的时候出现了一些问题,最常见的就 uiwebview scroll 事件延迟,导致我们无法准确判断当前页面(DOM)是否还在滚动。...常见的滚动点停误触 这是移动端的前端开发中实际遇到的一个问题,当我们的页面出现滚动条的时候,用手滑动屏幕,屏幕上页面内容会快速滚动,不会因为手已经离开了屏幕而滚动停止。...比如在 iOS UIWebViews 中, 在视图的滚动过程中,scroll 事件不会被触发;在滚动结束后,scroll 才会触发,参见 Bootstrap issue #16202 。...不能正确获取 scroll 事件就无法正确判断当前页面是否正在滚动。看起来我们陷入了僵局。 新的解决方案 我们放弃 scroll 事件,使用别的方式判断页面是否滚动。

    1K20

    Swift 自定义布局实现 Cover Flow 效果

    随着 UICollectionView 滚动,Cell 会自动的进行缩放,当 Cell 的中心点与 UICollectionView 的中心点重合时放大,偏离中心点时缩小 Cell 的滚动是分页滚动,...第二步,要实现 Cell 随 UICollectionView 滚动时具有缩放效果,就需要找一个合适的时机对 Cell 进行缩放,我的思路是先计算出 UICollectionView 整体滚动内容的中心点的...proposedContentOffset: CGPoint, withScrollingVelocity velocity: CGPoint) -> CGPoint 它的作用在于 UICollectionView 停止滚动时...,返回一个新的偏移点坐标,它有俩个参数,第一个参数 proposedContentOffset 指的是滚动将要停止时的偏移点坐标,第二个参数 velocity 指的是滚动速度;那既然我们能获取到当前滚动即将停止的坐标...scale, y: scale) }) // 4.返回修改后的 attributes 数组 return attributes } /// 滚动时停下的偏移量

    1.8K20

    iOS 封装跑马灯和轮播效果

    iOS UICollectionView ②、对比上面的效果图,我们还需要解决分页的宽度和循环滚动的问题。...自定义分页宽度:默认的分页宽度是UICollectionView的宽度,所以当分页宽度的不等于UICollectionView的宽度或分页间隔不等于0时会出现错误,这时就需要我们通过自定义UICollectionViewFlowLayout.../** 返回值决定了collectionView停止滚动时的偏移量 手指松开后执行 * proposedContentOffset:原本情况下,collectionView停止滚动时最终的偏移量 *...velocity 滚动速率,通过这个参数可以了解滚动的方向 */ - (CGPoint)targetContentOffsetForProposedContentOffset:(CGPoint)proposedContentOffset...cell,前边尾首相连需要UICollectionView可见范围内的数据源后边的元素cell,后边首尾相连需要UICollectionView可见范围内的数据源前边的元素cell //获取首尾相连循环滚动时需要用到的元素

    4.2K40

    使用 UICollectionView 实现首页卡片轮播效果

    思路分析 通过观察上面的图我们可以得出,这个网易云的轮播控件有三个特点,分别是: 1.支持图片手动横向滚动2.支持图片自动的滚动播放3.底部的分页控件会高亮显示出当前的图片是哪一张 好了,既然已经分析出来了它的特点...UIScrollView 然后又支持横向滚动,所以使用 UICollectionView 来实现横向滚动效果是最好不过的。...= false collectionView.delegate = self collectionView.dataSource = self collectionView.backgroundColor...分页控件默认距离的边距 public var pageControlMargin: CGFloat = 10 // 分页控件大小,注意:当PageControlType不等于自定义类型时,...self.collectionViewFlowLayout.itemSize.width) return max(0, index) } } } 第二点,由于这个轮播图滚动支持手动滚动与自动滚动俩种方式

    2.1K20

    细述Kubernetes和Docker容器的存储方式

    :alwaysBounceVertical; 设置水平方向的反弹是否有效:alwaysBounceHorizontal; 是否允许滚动:scrollEnabled; 是否显示垂直方向的滚动条:showsVerticalScrollIndicator...; 是否显示水平方向的滚动条:showsHorizontalScrollIndicator; 是否允许多选:allowsMultipleSelection; #####数据源与委托协议 集合视图的委托协议是...UICollectionViewDataSource中提供的方法如下: //提供视图中节的个数,这个方法需要注意数据的行是否能与每一行有几个单元格整除,不能整除时要多加一行 - (NSInteger)numberOfSectionsInCollectionView...流布局管理器的一些常见属性 初始化:UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc]init]; 设置滚动方向...为水平滚动。

    1.5K20

    iOS流布局UICollectionView系列七——三维中的球型布局

    collectionViewLayout:layout];     collect.delegate=self;     collect.dataSource=self;     //这里设置的偏移量是为了无缝进行循环的滚动...didReceiveMemoryWarning];     // Dispose of any resources that can be recreated. } //这里对滑动的contentOffset进行监控,实现循环滚动...在我们的layout类中,将代码修改成如下: -(void)prepareLayout{     [super prepareLayout];      } //返回的滚动范围增加了对x轴的兼容 -(CGSize..., self.collectionView.frame.size.height/2+self.collectionView.contentOffset.y);     atti.size = CGSizeMake...滑动屏幕,这个圆球是可以进行滚动的。 TIP:这里我们只平均分配了四个方向上的布局,如果item更加小也更加多,我们可以分配到更多的方向上,使球体更加充实。

    1.5K20

    【IOS开发基础系列】UICollectionView专题

    但值得注意的时,在UICollectionView中,不仅cell可以重用,Supplementary View和Decoration View也是可以并且应当被重用的。...本身作为容器view     • 然后是一个大小自动适应整个cell的backgroundView,用作cell平时的背景     • 再其上是selectedBackgroundView,是cell被选中时的背景...自定义内容应被加在这个view上         这次Apple给我们带来的好康是被选中cell的自动变化,所有的cell中的子view,也包括contentView中的子view,在当cell被选中时,...需要注意根据滚动方向不同,header和footer的高和宽中只有一个会起作用。垂直滚动时section间宽度为该尺寸的高,而水平滚动时为宽度起作用,如图。     ...collectionViewHeight = (_myCellVMArray.count + 2)/3 * kMyInfoCollectionCellHeight + 10;     //确定是水平滚动

    91430

    iOS流水布局UICollectionView简单使用引实现结

    不同之处在于UICollectionView需要一个布局参数来决定cell是如何布局的,默认是流水布局,也就是我们最常见的形式,也就是上面图里的形式;此外,UICollectionView除了垂直滚动,...还可以设置为水平滚动,只需要改变布局参数的设置就可以了;UICollectionView的cell只能通过注册来确定重用标识符,什么叫注册,我们还是看代码: - (void)viewDidLoad {...UICollectionViewFlowLayout) UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; // 设置滚动方式为水平...,默认是垂直滚动 // [layout setScrollDirection:UICollectionViewScrollDirectionHorizontal]; // 初始化...代码中注释了一行,就是用来设置滚动方向为水平的,效果如下: 同样的内容,滚动方式变化后,呈现的效果也会变化。

    1.1K00

    iOS流布局UICollectionView系列六——将布局从平面应用到空间

    至于layoutAttributesForItemAtIndexPath方法,它也是UICollectionViewLayout类中的方法,用于我们自定义时进行重写,至于为什么动态布局要在这里面配置item...三、让滚轮滑动起来             通过上面的努力,我们已经静态布局出了一个类似pickerView的滚轮,现在我们再来添加滑动滚动的效果         首先,我们需要给collectionView...一个滑动的范围,我们以一屏collectionView的滑动距离来当做滚轮滚动一下的参照,我们在布局类中的如下方法中返回滑动区域: -(CGSize)collectionViewContentSize{... numberOfItemsInSection:0]); } 这时我们的collectionView已经可以进行滑动,但是并不是我们想要的效果,滚轮并没有滚动,而是随着滑动出了屏幕,因此,我们需要在滑动的时候不停的动态布局...四、让其循环滚动的逻辑         我们再进一步,如果滚动可以循环,这个控件将更加炫酷,添加这样的逻辑也很简单,通过监测scrollView的偏移量,我们可以对齐进行处理,因为collectionView

    1.4K20

    手把手带你撸一个网易云音乐首页(三)

    我们知道在 UICollectionView 的属性中,有一个分页的属性:isPagingEnabled,当设置成 true 时,每次滚动的位移量等于它自身 frame 的宽度;当不设置这个分页属性,它的默认值是...scrolling - for layouts that want snap-to-point scrolling behavior 这个函数的返回值,决定了 UICollectionView 停止滚动时的偏移量...0 每次滚动停止都会调用上述的函数 func targetContentOffset(...), 在这个函数中有一个参数 proposedContentOffset 记录了滚动的目标位移坐标,通过这个坐标和记录的上次滚动的坐标可以判断出是向左滚动还是向右滚动...;如果小于那个固定值,则不发生分页 最后记录最新的偏移坐标,然后返回 UICollectionView 停止滚动时的偏移量 代码实现如下: class RowStyleLayout: UICollectionViewFlowLayout...decelerationRate = .fast } // 这个方法的返回值,决定了 CollectionView 停止滚动时的偏移量 override func targetContentOffset

    2.3K10
    领券