首页
学习
活动
专区
圈层
工具
发布

原生JS实现可折叠导航栏

实现效果 制作过程 首先页面分为两个div,一个导航一个内容。其中内容中需要一个按钮用来控制折叠。...,循环改变nav的宽度和cont的左边距实现cont盖住nav的视觉效果。...但在代码中,并不能真的用for循环来做,那样在移动过程中js就会一直卡在循环中而不能执行其他代码,所以这里可以使用setInterval函数来做,它会每隔一段时间调用一次某个方法,格式为setInterval...为了使移动更平滑,每次调用时只移动到目标位置之间的距离的10%.实现折叠的函数代码如下: /*关闭/打开导航*/ function closeNav(nav,body,navTargetWidth){...当点击按钮后,判断当前导航栏是收缩还是展开状态,如果是收缩状态就将导航栏的宽和内容块的左外边距逐渐增长为展开时的值,反之同理。而判断是通过一个变量来标识导航栏状态实现。

10.4K20

如何实现文本内容折叠并显示“...查看全部”?

,或者跳转到其它页面展示所有内容。...二、实现原理 纯css很难完美实现这个功能,所以还得借助js来实现,实现思路大体相似,都是判断内容是否超过指定行数,超过则截取字符串的前x个字符,然后然后和“...查看全部”拼接在一起,这里的x即截取长度...$emit('click-btn', event) }, } } 在代码实现中refresh函数用于计算截取长度,在文本内容、rows属性等发生改变或者文本容器尺寸改变时将被调用...四、其它 1、支持html串的考虑 现在的实现方案并不支持内容是html文本,如果需要支持HTML文本,问题将复杂许多。主要在于HTML字符串的解析和截断,不像文本字字符串那么简单。...()")接口取得截取HTML字符串的相关内容,理论上是可行的,不过具体细节以及处理效率得实践后才知道。

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

    JS怎么实现内容禁复制

    在JavaScript中,可以通过监听一些与复制相关的事件并阻止其默认行为来实现内容禁复制的效果。...以下是几种常见的实现方式:阻止复制事件// 阻止复制事件document.addEventListener('copy', function(e) { // 取消默认复制行为 e.preventDefault...(); // 可以自定义提示信息 alert('本页面内容禁止复制');});阻止剪切和粘贴事件(如果需要)// 阻止剪切事件document.addEventListener('cut', function...(e) { e.preventDefault(); alert('本页面内容禁止剪切');});// 阻止粘贴事件document.addEventListener('paste', function...因此,这些方法主要用于提醒用户不要复制内容,而不能完全杜绝复制行为。另外,过度限制用户操作可能会影响用户体验,建议根据实际需求合理使用这些技术。

    51610

    ExpandableListView实现商品列表折叠

    简介 在日常的开发中,有可能会遇到需要一些可以展开的列表,比如QQ的好友列表,电商的购物车折叠显示。...Android也给我们提供ExpandableListView类,完美实现这样类似的需求, 极大的方便了我们开发。结合之前的项目我们做一个简单的讲解。 首先懒看一下最终的实现效果: ?...使用到的第三方框架: AndroidAutoLayout 屏幕适配框架 代码 首先是布局需要用一个ExpandableListView,配合adapter就能实现上面额效果,直接上代码。...isExpanded) { //设置套餐折叠时显示套餐商品的图片 initGoodsImage(collocationPackageBean, parentViewHolder...= (TextView) view.findViewById(R.id.tv_collocation_price); } } /** * 初始化并设置套餐折叠时的所有商品图片

    2.1K80

    技巧:文本超过N行折叠内容并显示“...查看全部”

    ,于是就写了一个Vue的组件,本文简单介绍一下实现思路。...,或者跳转到其它页面展示所有内容。...多行文本超过指定行数折叠 二、实现原理 纯CSS很难完美实现这个功能,所以还得借助JS来实现,实现思路大体相似,都是判断内容是否超过指定行数,超过则截取字符串的前x个字符,然后然后和“...查看全部”拼接在一起...$emit('click-btn', event) }, } } 在代码实现中refresh函数用于计算截取长度,在文本内容、rows属性等发生改变或者文本容器尺寸改变时将被调用...支持HTML串的考虑 现在的实现方案并不支持内容是HTML文本,如果需要支持HTML文本,问题将复杂许多。主要在于HTML字符串的解析和截断,不像文本字字符串那么简单。

    3.5K10

    技巧:文本超过N行折叠内容并显示“...查看全部”

    于是就写了一个Vue的组件,本文简单介绍一下实现思路。...,或者跳转到其它页面展示所有内容。...多行文本超过指定行数折叠 二、实现原理 纯CSS很难完美实现这个功能,所以还得借助JS来实现,实现思路大体相似,都是判断内容是否超过指定行数,超过则截取字符串的前x个字符,然后然后和“...查看全部”拼接在一起...$emit('click-btn', event) }, } } 在代码实现中refresh函数用于计算截取长度,在文本内容、rows属性等发生改变或者文本容器尺寸改变时将被调用...支持HTML串的考虑 现在的实现方案并不支持内容是HTML文本,如果需要支持HTML文本,问题将复杂许多。主要在于HTML字符串的解析和截断,不像文本字字符串那么简单。

    3.5K20

    Nodejs+koa.js实现服务端内容(超级详细

    对于一些登录及内容数据不想单纯的使用假数据模拟,所以从零搭建一个nodejs的后端内容 首先进行下一栏安装 npm i koa koa-router koa-bodyparser nodemon 项目的目录结构...project │ README.md │ .env │ package.json └───src │ └───app // 服务端代码实现 │ │ │ index.ts...// 引入koa及相关内容,导出 │ │ │ config.ts // 导出.env中的环境变量 │ │ │ database.ts // 连接数据库 │ │...登入后再修改密码 mysqld --initialize 执行成功后会生成data文件夹,就是初始化的内容。 如果提示报错,mysql命令不可用,可以在安装的mysql文件夹下的bin中吊起终端执行。.../src/main.ts" }, main.js const app = require('./app') const config = require('.

    1.3K53

    NestedScrollView 嵌套 ListView 实现滑动折叠效果

    引言 最近,在做公司一个design折叠效果的时候遇到个问题,就是我们本身app的方法数太多了,dex分包技术还没搞定。不得不尽量缩减一些不必要的包、类。...当我们引入RecyclerView的时候,恰好是压死骆驼的最后一根稻草,故不得不采用其他方案来代替RecyclerView 和 CollapsingToolbarLayout实现的折叠效果。...本文试着采用 NestedScrollView 嵌套 ListView的方法来实现折叠效果。具体结果如图所示: ?...app:contentScrim 表示CollapsingToolbarLayout折叠以后,toolbar的颜色。...enterAlways - 实现quick return效果, 当向下移动时,立即显示View(比如Toolbar). exitUntilCollapsed - 向上滚动时收缩View,但可以固定Toolbar

    4.7K50

    JS如何替换元素内容

    ,有的是动态的,特别是在一些网页交互的网页特效里,应用比较多,如何简单的替换元素的内容 01 原生JS实现 在原生js中主要通过DOM提供的属性去修改的,遵循js的一个使用规范,获取元素,绑定事件,操作...' } 以下是html 我是一个链接 01 Vue代码实现 <div class="wrap"...input-wrap { display:flex; justify-content: center; margin-bottom: 20px; } 分析 在原生js...当中,innerHTML是DOM元素对象一个非常重要的属性,可以获取元素整个节点的内容,包括标签元素,表示元素的所有内容,包括子元素,文本等 注意要与innerText区分,innerText只可以获取文本节点内容...,如果仅是修改DOM元素节点文本内容,使用innerText也是可以的 而在vue里面,并不是通过操作DOM去实现的,而是操作数据,通过操作数据实现的,与原生js的使用是有差异的

    14.8K20

    CSS实现最简洁的单选折叠菜单

    不到万不得已的时候千万别引入前端UI框架,因为HTML5和CSS3已经能实现绝大多数的功能,比如上期的《CSS实现最简洁的开关》只用了不到50行css就实现了带动画的material design风格的开关...今天教大家用纯css实现一个单选的折叠菜单,不需要JavaScript就能用。折叠菜单和标签页差不多,逻辑上都是一种单选面板,只不过折叠菜单一般是垂直堆叠的,标签页是横着排列。...标签页: 既然是单选的,就可以用单选按钮来实现。...,每个后面跟着一个就是菜单展开的内容。...= radio) { input.checked = false; window.radio = null; } else window.radio = radio; }; 这样就实现了单选折叠菜单的反选能力

    6.6K20
    领券