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

在一定高度后显示scroll-y,但高度是动态的

在前端开发中,当页面内容超出容器高度时,我们可以通过设置overflow-y: scroll来实现垂直滚动条的显示。然而,如果容器高度是动态的,我们需要根据一定的高度阈值来判断是否显示滚动条。

一种常见的实现方式是通过JavaScript来动态计算容器高度,并根据高度阈值来决定是否添加滚动条样式。以下是一个示例代码:

代码语言:html
复制
<style>
  .container {
    max-height: 300px; /* 设置容器的最大高度 */
    overflow-y: auto; /* 当内容超出容器高度时显示滚动条 */
  }
</style>

<div class="container" id="myContainer">
  <!-- 页面内容 -->
</div>

<script>
  // 获取容器元素
  var container = document.getElementById('myContainer');

  // 监听窗口大小变化事件
  window.addEventListener('resize', function() {
    // 获取当前窗口高度
    var windowHeight = window.innerHeight;

    // 计算容器高度阈值
    var threshold = windowHeight * 0.8; // 假设阈值为窗口高度的80%

    // 根据容器内容高度是否超过阈值来决定是否显示滚动条
    if (container.scrollHeight > threshold) {
      container.style.overflowY = 'scroll';
    } else {
      container.style.overflowY = 'hidden';
    }
  });
</script>

在上述代码中,我们通过监听窗口大小变化事件来动态计算容器高度阈值,并根据阈值与容器内容高度的比较来决定是否显示滚动条。当容器内容高度超过阈值时,我们将容器的overflow-y属性设置为scroll,否则设置为hidden

这种实现方式可以适应不同高度的容器,并根据实际内容来决定是否显示滚动条,提供了更好的用户体验。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【小程序项目开发 -- 京东商城】uni-app 商品分类页面(上)

一、新建cate分支(选读*) 之所以为了创建分支,也是养成良好项目开发习惯,这样开放项目井井有条 也可以跳过本节内容,不影响阅读观感 根目录下,右键打开bash 基于 master 分支本地创建...由于我们要开发cate 页面,所以我们将小程序编译模式修改启动页面 cate,这样就不用每次都需要点击跳转了 三、渲染页面基本结构 生成基本滑动页面结构 <view...,我们可以调用APIuni.getSystemSync(),得到该手机设备信息(如手机型号,可用高度) 注意:可使用窗口高度,而不是屏幕高度(不包括navigationbar和tarbar...激活项active实现思路: data节点定义数据active,对分类动态循环生成索引与之比较,相同则在对应索引加上类active,并对分类点击帮绑定事件处理函数并对其传索引参数,动态修改active...-- 传参方法二 函数直接传参 这在原生小程序不可以 -->

69040

微信小程序自定义组件-城市选择「建议收藏」

大家好,又见面了,我你们朋友全栈君。 上篇文章有介绍一些小程序自定义组件语法,这篇文章就不多做赘述,重点介绍组件实现逻辑。...下面说下思路 首先确认侧边栏高度,我是以屏幕高度减去80px作为侧边栏高度.wxss文件中通过样式设置。...letterLeft: res.windowWidth / 2 - 30 }); } }) 计算出每个letter高度...,我们就可以侧边栏触摸监听事件中,通过触摸坐标位置,来计算出当前触摸letter序号index,然后再动态修改currentIndex值为(‘id’+index)。...就可以达到联动效果了。 显示屏幕中央提示框实现则比较简单,通过一个变量isLetterHidden控制text显示与隐藏就可以轻松实现。

1.8K30
  • 微信小程序实践:2.3 可滚动容器组件之 scroll-view

    我们只能在JS里动态改变scroll-top、scroll-left这两个属性绑定变量,然后视图渲染,组件会自动发生滚动。...虽然传递不全是新数据,微信小程序不知道哪些,哪些,凡是list中传递过来,它都认为新数据。 那么这个问题如何解决呢?如何再优化一下呢?...gameListData此时形式上一个数组,实际上相当于是一个map。...如果内容少,建议直接添加一个看不见容器,使内容高度一定大于滚动框架高度,就没有这个问题了。...inline内联元素样式,容器设置为inline,子元素将在一行内显示、不换行。inline-block兼具两者优势,子元素既一行内显示、不换行,又能设置其宽、高等块元素属性。

    15.1K30

    小程序 - 效果处理之技巧合集(更新中...)

    43 44 不过经过我后来测试,把绝对定位这一套代码删掉,然后只要有scroll-y属性都是可以, 45 46 关键这个属性,放在scroll-view内所有内容组成页面才可以滚动。...100 101 从这里逻辑中,我觉得收获最大用if判断值,动态改变一个变量等于false还是ture,然后wxml中再if判断,变量等于false还是ture,这样就能千回百转完成逻辑。...关于rpx单位用法: rpx用来自适应,设计图750px模式下,用rpx直接一比一复刻建模,出来就是标准i6界面,也能自适应绝大多数页面了 不过有些小5px、3px、1px啥间距或border...但是这种做法,scroll-view必须设置一个明确高度,能想到高度值用rpx,可以解决部分安卓和ios机型适配问题。 但是换了个别特殊机型,那个高度明显就会出问题。...解决方法有两种: 1.百分比 2.换结构 百分比方法就是:整个屏幕page给100%高度,,顶部定位条占一定百分比高度,而scroll-view占剩下百分比高度

    1.4K90

    微信小程序开发实战(1):容器组件

    垂直滚动视图 scroll-view容器组件,如果该组件子组件超过scroll-view高度或宽度,该组件会允许子组件垂直或水平方向滚动视图,以便显示其他没有显示子组件。...,很明显,没有滚动情况下,红色子view显示了一部分(正好60px)。...这两个属性默认值50,这个值差不多是滚动条长度。默认情况下,当滚动条一端刚一接触上、下、左、右边缘时就会触发相应事件。...scrollHeight:垂直滚动时所有子视图高度(包括子视图之间间距),水平滚动时,该值scroll-view组件高度。...scrollWidth:水平滚动时所有子视图总宽度(包括子视图之间间距)。垂直滚动时,该值scroll-view组件宽度。

    1.4K30

    uni-app实现tabbar选项卡切换

    :元素滚动添加过渡效果 添加:scroll-into-view前 ` 添加 我们滚动元素view做了如下事情 1.循环动态数据 2.绑定class属性使当前被点击元素高亮 3.绑定id属性与...}, 选项卡已经跟页面关联了 接下来我们来开发滑块视图y轴滚动区域 我们滑块视图要展示每一个栏目下文章列表,并且文章列表可以滑动(纵向滑动) 要实现上面需求我们滑块视图里面嵌套一个滚动区域...这里解决办法给滑块视图一个具体高度,不过这个高度需要我们计算滑块视图高度= 导航栏高度-底部选项卡高度-顶部滑块高度 1.给顶部选项卡一个高度 100rpx 2.页面加载时候获取当前窗口可使用窗口高度...console.log(res) } }) }, 打印数据如下 windowHeight就是导航栏高度减去底部选项卡之后高度...我们还要用这个高度减去顶部滑块选项卡高度即可得到滑块视图y轴滚动区域高度 页面加载时设置顶部选项卡高度 let res = uni.getSystemInfo({

    7.2K20

    小程序开发基础-scroll-view 可滚动视图区域

    效果图1 scroll-view视图组件 scroll-yscroll-view属性,scroll-y类型为Boolean,默认值为false,表示允许纵向滚动,scroll-y="true"允许纵向滚动...定义scroll-view时,要给它一个固定高度,通过wxss也可以内部样式,给设置个height属性,如style="height:200px;"。...,lower为滚动条滚到底部时候触发,scroll为滚动条滚动触发,tap为点击按钮切换到下一个view,tapMove为通过设置滚动条位置实现画面滚动。...this.setData({ scrollTop: this.data.scrollTop + 10 }) } }) toView: 'green',为scroll-into-view显示...green绿色地方,index.wxml中scroll-into-view="{{toView}}",scrollTop: 100,为scroll-top="{{scrollTop}}"显示时就是绿色占一半

    2.5K40

    小程序实现页面多级来回切换支持滑动和点击操作

    在做切换就是父级切换操作 “内容1”view中 写入代码即可,由于父级代码只能小于2个页面才有效,所以我们不用父级这个滑动来做子滑动,不仅仅是因为bug问题,这样也避免了样式和数据重复问题...currentTab:0, //预设当前项值 scrollLeft:0, //tab标题滚动条位置 currentIndex: 0, //默认活动项 切换 hideModal...currentTab:0, //预设当前项值 scrollLeft:0, //tab标题滚动条位置 currentIndex: 0, //默认活动项 切换 hideModal...,感谢观赏,大家好呀,欢迎加入人工智能交流群(看我动态),更多周边福利等你✨✨欢迎订阅本专栏或者关注我,大家一起努力每天一题算法题✨✨❤️❤️❤️ 最后,希望我这篇文章能对你有所帮助!...currentTab:0, //预设当前项值 scrollLeft:0, //tab标题滚动条位置 currentIndex: 0, //默认活动项 切换 hideModal

    403110

    微信小程序中实现瀑布流布局和无限加载

    瀑布流布局一种比较流行页面布局方式,最典型就是Pinterest.com,每个卡片高度不都一样,形成一种参差不齐美感。...小程序瀑布流布局 我们要实现一个固定2列布局,然后将图片数据动态加载进这两列中(而加载进来图片,会根据图片实际尺寸,来决定到底放在左列还是右列中)。...; } 我们知道,HTML中,我们要动态加载图片的话,通常会使用new Image()创建一个图片对象,然后通过它来动态加载一个url指向图片,并获取图片实际尺寸等信息。...然后我们将图片按照页面上实际需要显示尺寸,计算出同比例缩放尺寸。接着,我们可以根据左右两列目前累积内容高度,来决定把当前加载进来图片放到哪一边。...this.setData({ loadingCount: images.length, images: images }); } }) 这里显示两列图片

    2.7K20

    如何实现微信小程序滚动加载功能

    1.需要用到组件和api scroll-view(可滚动视图区域) wx.showToast(OBJECT)显示消息提示窗----显示loading小菊花用 2.需要用到属性 3.scrol-view...需要指定一个高度,这个高度可以按自己需求计算,我使用屏幕可用高度并且默认一页显示6个 4.滚动到底部绑定需要触发事件 5.操作事件函数,主要是将请求下来数据用concat方法进行合并,然后赋值,我for循环假装添加数据,实际项目中可以换成自己...期间为了显示效果可以添加一个过度弹出框提示“加载中” title: '我也是有底线', icon: 'success', duration: 300...}); return false; } else { wx.showLoading({ //期间为了显示效果可以添加一个过度弹出框提示“加载中” title

    1.6K100

    小程序商品规格属性界面布局,以及存在

    最近做一款商城小程序,其中有个弹层展示商品属性,商品界面存在滚动条,弹层显示,划动屏幕,会使后面的滚动条滚动,在网上查找了一些方法,基本都是一些重复解决方案,自己试了根本没用,总结一下有以下几种:1...,单独使用这个没用,下面的方法会使用到这个属性。...下面解决方案:1.设置wxml最外层scroll-view或viewstyle:<scroll-view style='height:{{scrollHeight}};overflow:hidden...let data = res.screenHeight + 'rpx'; _this.setData({scrollHeight: data});},})//其它逻辑代码},3.打开弹层修改了外部容器高度...scroll-view ,需要设置scroll-y,小程序默认其为false,滚动条不显示(之前没设置,花了不少时间找原因),但是只要设置就为true:<scroll-view class="spec-con

    97320

    微信小程序实现滚动加载更多

    1.需要用到组件和api scroll-view(可滚动视图区域) wx.showToast(OBJECT)显示消息提示窗----显示loading小菊花用 2.需要用到属性  3.scrol-view...需要指定一个高度,这个高度可以按自己需求计算,我使用屏幕可用高度并且默认一页显示6个 4.滚动到底部绑定需要触发事件 5.操作事件函数,主要是将请求下来数据用concat方法进行合并,然后赋值,我for循环假装添加数据,实际项目中可以换成自己...wx.showToast({ //期间为了显示效果可以添加一个过度弹出框提示“加载中” title: '我也是有底线', icon: 'success',...duration: 300 }); return false; } else { wx.showLoading({ //期间为了显示效果可以添加一个过度弹出框提示

    3K60

    【小程序】view视图,swiper轮播图,scroll-view滑动列表 (在线详细手册)

    ,本文着重介绍关于宿主环境视图容器和基础内容组件 宿主环境 - 组件 小程序中组件由宿主环境提供,开发者可以基于组件快速搭建出漂亮页面结构。...视图容器类组件 view组件 介绍: 普通视图区域(静态) 类似与HTMLdiv标签,一个块状元素 常用于页面的布局效果 ---- 基本使用 实现如图横向布局: <!...(动态) 常用来实现列表滚动效果 ---- 纵向滚动效果实现 注意事项: 滑动效果中对整个区域高度要小于滑动视图区域高度,且要在scroll-view组件中 加上 scroll-y <!...nth-child(3) { background-color: lightgoldenrodyellow; } 横向滚动效果实现 注意: 同样需要在scroll-view组件中加上 scroll-x , 最重要样式设置...lightgoldenrodyellow; } swiper和swiper-item 介绍: 轮播图容器组件 和 轮播图item组件 可以在在swiper组件中加上 一下可选项 indicator-dots : 是否显示面板显示

    1.2K20

    uni学习笔记分享

    网络请求,在学员信息页面,使用post提交数据,需要设置header请求头,否则会出现请求异常 数据绑定,比如动态改变view背景颜色,建议用class设置替代style设置 data中给字段赋值,...根据柯佳规范文档,建议url引入规则使用绝对路径 省市区地区控件中,即使给scroll-view父view设置了高度,仍然要给scroll-view设置高度,不然会撑满页面 02.关于布局设置...//https://www.cnblogs.com/skura23/p/6505352.html :active,元素被点击时变色,颜色点击消失 :focus, 元素被点击变色,且颜色点击不消失...03.基础语法总结 v-if和v-show 比如在我页面,有登陆状态,会员状态,还有未登陆状态,且布局可以动态隐藏和显示,这个时候就用到v-if v-if 和 v-show 区别:前者是否会在dom...使用到post请求,注意,一定需要添加请求header,否则无法上传数据 为何会出现这个错误 以 POST 方式进行网络请求时,如果不添加header头无法进行正常网络请求,此时默认请求方式content-type

    1.3K00

    微信小程序 简单实现左右内容联动

    微信小程序 简单实现左右内容联动 请求到数据 封装请求 实现方法 scroll-view 属性scroll-into-view 可以实现类似于瞄点链接效果,绑定属性修改时会触发,滑动到对应...(用来高亮当前分类) 在按下分类时同时更新tabIndex、nowIndex 滑动时通过判断没一个id内容距离scroll-view 顶部高度 如果等于或小于0表示该内容滑到了,只需要...scroll-y scroll-into-view="{{tabIndex}}" bindscroll="scroll"> <!...e) this.setData({carList:this.data.carList}) }, /** * 联动分类 * 滑动右侧商品列表,与之对应左侧商品分类菜单高亮显示...-scroll-view 距离顶部高度=每个项目距离scroll-view顶部高度 if(item.top-scrollMenuTop<=0){

    59420

    开发 h5| Hybrid | 微信小程序 | 实践踩坑总结十六条

    添加成功,会自动添加到,合法域名列表中。 ③ 如果 ① 和 ② 完成,仍然被拦截 如果走完上边两步,仍然被拦截。...2 iOS问题:微信小程序1rpx border ios真机显示不全问题 背景 微信小程序iphone低版本手机(iphone6 ,6p),如果多个视图容器排列(水平和竖直方向都会存在),可能会出现个别边框显示不全问题...我们必须动态获取scroll-height因为不同型号手机,都要达到完美的效果 如何正确获取scroll-view高度 情况一 scroll-view 中间情况: ?...插入原生组件可以覆盖之前原生组件。 ②原生组件还无法 picker-view 中使用。...结构这样。 <!

    2.5K30

    小智在这3年开发中遇到 CSS 问题及解决方案,有大佬帮他总结好了 !

    /pe... 2.Overflow: scroll Vs auto 要限制元素高度并允许用户在其中滚动,可以添加overflow: scroll-y。...这是因为无论内容如何,scroll-y都会显示滚动条,这时候我们可以使用overflow: auto,它只会在需要时显示滚动条。 ?...当 Flex 项目的数量动态时,不要使用justify-content: space-between 当将justify-content: space-between应用于flex容器时,它将分配元素并在元素之间留出相等空间...压缩或拉伸图像 CSS中调整图像大小时,如果宽高比与图像宽度和高度不一致,则可能会对其进行压缩或拉伸。...---- 代码部署可能存在BUG没法实时知道,事后为了解决这些BUG,花了大量时间进行log 调试,这边顺便给大家推荐一个好用BUG监控工具 Fundebug。

    3.7K10

    【小程序项目开发 -- 京东商城】uni-app 商品分类页面(下)

    】uni-app 商品分类页面(上)5.1 章节接口数据格式可以看到,我们数据,一级分类下,存贮了二级分类,二级分类又存贮了三级分类,嵌套存贮。...1.1 动态渲染二级分类页面 data节点定义数据cateList2 data() { return { //当前设备可用高度 windowHeight...getCateList为其赋值(默认为第一个数据,动态数据变化active async getCateList() { // async 异步不能使用箭头函数 const...节点定义数据scrollTop 注意:对scrollTop 赋值前后值不变情况 下会没有效果,如果默认值为0,函数动态赋值也为0,那么组件就会默认为0,视为没有变化,这里解决方法0,1变化(1像素默认其为顶部...,一点点偏差用户看不出来) data() { return { //当前设备可用高度 windowHeight: '', // 分类页数据

    91730
    领券