项目场景:

jq循环遍历元素的高度,用于判断超出显示更多按钮然后点击展示全部,再次点击控制显示一行


问题描述:

第一步:jq循环遍历元素的高度:

 var divlist=$(".c-classify div").find('ul')console.log(divlist);for(var i=0;i<divlist.length;i++){console.log(divlist[i].offsetHeight);}

第二步:jq根据动态下标改变样式显示更多按钮

var divlist=$(".c-classify div").find('ul')console.log(divlist);for(var i=0;i<divlist.length;i++){console.log(divlist[i].offsetHeight);if(divlist[i].offsetHeight>38){console.log($(".c-classify div").find('ul span').css("display"));$(".c-classify div").find('ul span').eq(i).css('display',"block")}}

第三步:控制点击按钮展开高度,不做高度限制同时切换按钮内容三角

$(".c-classify div").find('ul span').click(function(){//点击切换高度以及隐藏展开console.log($(this).parent().css("height")=="38px");if($(this).parent().css("height")=="38px"){$(this).parent().css({"height":"","overflow":"visible"})$(this).html("更多▲")}else{console.log(11);$(this).parent().css({"height":"38px","overflow":"hidden"})$(this).html("更多▼")}})

解决方案:

三者结合:

//根据动态下标改变样式

var divlist=$(".c-classify div").find('ul')
console.log(divlist);
for(var i=0;i<divlist.length;i++){console.log(divlist[i].offsetHeight);if(divlist[i].offsetHeight>38){//循环列表,超出隐藏显示更多按钮console.log($(".c-classify div").find('ul').eq(i).css("height"));$(".c-classify div").find('ul span').eq(i).css('display',"block")$(".c-classify div").find('ul').eq(i).css({"height":"38px","overflow":"hidden"})console.log($(".c-classify div").find('ul').eq(i).css("height"));}
}
$(".c-classify div").find('ul span').click(function(){//点击切换高度以及隐藏展开console.log($(this).parent().css("height")=="38px");if($(this).parent().css("height")=="38px"){$(this).parent().css({"height":"","overflow":"visible"})$(this).html("更多▲")}else{console.log(11);$(this).parent().css({"height":"38px","overflow":"hidden"})$(this).html("更多▼")}
})

jq循环遍历元素的高度,判断超出显示更多按钮相关推荐

  1. js文本内容显示6行,超出6行出现显示更多按钮,css样式超出行数只能使用...去替代

    js处理文本内容显示6行,超出6行出现显示更多按钮,对于网上说的css样式处理,基本上都是超出6行使用-去处理,不符合需求,先看结果,再看需求:如下 先看实现结果,如下图所示: 需求:产品经理提出详情 ...

  2. layui循环遍历数据_Layui之动态循环遍历出的富文本编辑器显示

    这篇记得是工作中的例子 描述: 平常的富文本显示都是根据静态的html获取id来显示,比如: 富文本内容 layui.use([ "form", "layer" ...

  3. vue 超出多行,省略,展示显示更多按钮

    前期准备:根据字体大小和行数确定这个块整体的高度 template <div class="desc" ref="desc">{{desc}}< ...

  4. JSP中使用<c:forEach>标签循环遍历元素

    1.forEach标签元素 <c:forEach items="接收集合对象" var="迭代参数名称" varStatus="迭代状态,可访问 ...

  5. jq 循环遍历二维数组

    //获取中奖名单 function getList(){$.ajax({type: "GET", //用GET方式传输dataType: "JSON", //数 ...

  6. java循环遍历队列_java实现循环队列

    java实现循环队列 循环队列的优点 普通队列出队操作开销大:在出队操作时,索引为0后面的所有元素,都需要往前移动一位,元素越多,消耗的时间也越多,时间复杂度为O(N). 循环队列的逻辑: 1.当元素 ...

  7. js map满足条件跳出循环_js.es5 map循环一大坑:循环遍历竟然出现逗号!

    一.map map大法好 作为当今程序界最好用的循环方法之一map, 在我的项目里基本替代了for循环 map循环常用的一些方法 /********* ES6 **********/ //一行代码可以 ...

  8. php循环volist,ThinkPHP中循环遍历的两种方法(volist和foreach标签)

    在ThinkPHP中系统提供了两个标签来实现便利操作:volist标签和foreach标签. volist语法格式: 循环体 注意:volist是双标签语句,需要闭合. foreach语法格式: 循环 ...

  9. C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例

    C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例 Unity中循环遍历每个数据,并做出判断 很多时候,游戏在玩家做出判断以后,游戏程序会遍历玩家身上大量的所需数据,然后做出判断,即首先判 ...

最新文章

  1. 每天进步一点点——Linux
  2. 毫秒级的时间处理上G的图片(生成缩略图)
  3. foxmail邮箱怎么导入邮件_163企业邮箱登录后怎么导入联系人?
  4. java中static代码块与非静态代码块
  5. 类的const和非const成员函数的重载
  6. java 正则表达式 table_Java 使用正则表达式
  7. Css3 display用法
  8. Windows界面编程_Miniblink(6) 个人信息界面
  9. 母版页Master中Html控件img,a,javascript相对路径问题
  10. oracle EM导出AWR报告,AWR报告导出
  11. Cloud Control 12c Installation 错误处理 Checking swap space: 0 MB available, 150 MB required. Failed
  12. 【190302】VC+ 视频捕捉与录像+实例源码源代码
  13. 织梦dede列表分页样式
  14. 银行手机APP软件做性能测试吗,浅谈银行开放平台应用系统性能测试
  15. Android Studio真机测试
  16. flex-flex属性
  17. 思科模拟器出现Translating XXXX...domain server (255.255.255.255) 解决办法
  18. Android自定义守望先锋loading学习
  19. 写在2022的尾巴上
  20. win10右键卡顿原因_win10系统点击鼠标右键出现卡顿的解决方法

热门文章

  1. 西北工业大学NOJ数据结构—014求广义表深度
  2. 渗透前戏:maltego简介
  3. 程序人生 - 离开华为三年,我才真正认同狼性文化
  4. css设置字符间距后无法完全居中问题
  5. linux xargs grep,Linux xargs grep zgrep命令
  6. matlab中的sub2ind函数
  7. coredns 更新部署
  8. docsify搭建个人博客
  9. 极客软件测试52讲总结分享
  10. Java一周签到一次_java做的一个简易的微信签到系统