javascript实现内容溢出手动滚动
来源:互联网 发布:java与传感器通信 编辑:程序博客网 时间:2024/06/01 20:48
HTML代码:
<!DOCTYPE html><html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>溢出滚动</title> <style> * { margin: 0; padding: 0; } .body { width: 300px; height: 500px; background: red; margin: 100px auto; padding: 20px; overflow: hidden; } .list { list-style: none; } .item { background: blue; margin-bottom: 15px; } .item:nth-child(1) { height: 200px; } .item:nth-child(2) { height: 100px; } .item:nth-child(3) { height: 130px; } .item:nth-child(4) { height: 450px; } </style> </head> <body> <div class="body"> <ul class="list"> <li class="item"></li> <li class="item"></li> <li class="item"></li> <li class="item"></li> </ul> </div> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> </body></html>
方法一:getBoundingClientRect()
$(function () { var $parent = $('.body'); var $list = $('.list'); var $childern = $list.children(); var parentPadding = parseInt($parent.css('padding')); var parentBottom = Math.abs($parent[0].getBoundingClientRect().bottom); var listBottom = Math.abs($list[0].getBoundingClientRect().bottom); for (let i = 0, len = $childern.length; i < len; i++) { if (Math.abs($childern[i].getBoundingClientRect().bottom) > parentBottom) { scrollTop($childern.eq(i)); break; } } function scrollTop(el) { el.on('mouseover', function () { $parent.animate({ scrollTop: parentPadding + listBottom - parentBottom + 'px'}, 300); }) } });
$(function () { var $parent = $('.body'); var $list = $('.list'); var $childern = $list.children(); var parentPadding = parseInt($parent.css('padding')); var itemBottom = parseInt($childern.css('margin-bottom')); var parentHeight = $parent[0].offsetHeight; var listHeight = $list[0].offsetHeight; for (let i = 0, len = $childern.length, sum = 0; i < len; i++) { sum += $childern[i].offsetHeight + itemBottom; if (listHeight - sum < listHeight - parentHeight + parentPadding * 2) { scrollTop($childern.eq(i)); break; } } function scrollTop(el) { el.on('mouseover', function () { $parent.animate({ scrollTop: (listHeight - parentHeight + parentPadding * 2) + 'px'}, 300); }) } });
阅读全文
0 0
- javascript实现内容溢出手动滚动
- HTML窗体内容自动向下滚动,JAVASCRIPT实现窗体内容向下滚动。
- JavaScript实现内容从下往上连续滚动效果
- WEB前端-HTML-JavaScript实现内容滚动刷新的效果
- android 实现在文本内容超过固定宽度可手动左右滚动查看效果
- phonegap+Android实现内容溢出滚动条Scroll bar的功能!
- TextView实现文字水平手动滚动和垂直手动滚动
- marquee实现内容滚动
- javascript实现连续滚动
- javascript实现连续滚动
- javascript实现滚动图片
- javascript 实现图片滚动
- JavaScript实现连续滚动
- JavaScript实现连续滚动
- javascript实现无缝滚动
- Javascript实现滚动新闻
- javascript实现滚动图片
- javascript实现滚动图片
- Lucene同义词检索同时精确提取自定义关键词(Lucene版本5.3.0)
- JavaMail入门第一篇 邮件简介及API概述
- 《Java专栏》— 集合框架
- JQuery Validate(1)---电话号码与邮箱验证
- 解决:Matlab 运行错误License manager error 114
- javascript实现内容溢出手动滚动
- AS 导入github开源项目可能会遇到的问题及解决方法
- Timer与TimerTask的真正原理&使用介绍
- 4种二分查找的C++算法
- LINQ To SQL 语法及实例大全
- 一段js实现实现手机自适应兼容所有手机和平板
- 机器学习经典算法之-----最小二乘法
- 解决elasticsearch超过10000条无法查询的问题
- 数据库索引的简单理解