js卷轴滚动 鼠标拖动滚动。例子

 最近项目有个需求就是  在固定高度容器里放几十条的数据内容。不想使用滚动条,要用鼠标上下拖动时进行内容的滚动。花了点时间,写了个Demo。贴代码:

 

效果如下:(鼠标拖动了几个像素的图片)

代码:scroll.js

/* 可滚动卷轴对象
 * @description : 容器里拖动鼠标可实现内容滚动,兼容各类浏览器(ie6/7/8/firefox/safari/opera/chrome/)。
 *      using: new Scroller(@id|{id:@id,drag:false|true,scroll:true|false,scrollBase:@number}) 即可  id为你的容器对象或容器ID
 * @date  : 2011-07-12
 * @author  : limanzu753@163.com
 * history  : 
 *    2011-07-13  修改鼠标在容器外里还可以继续滚动 0.11 limanzu753@163.com  
 *    2011-07-20  增加鼠标滚动,动态配置滚动像素,动态配置是否支持鼠标滚动以及鼠标拽动滚动功能
 */
function Scroller(args) {
 if (this instanceof  Scroller == false) {return new Scroller(args);}
 if (typeof args === "string" ) {
  this.container = this.$(args); //容器对象 
  this.drag = true;
  this.scroll = true;
  this.scrollBase = 35;
 } else {
  this.container = this.$(args.id || args.container || args.obj); //容器对象 
  this.drag = args.drag == undefined ? true : args.drag;
  this.scroll = args.scroll == undefined ? true : args.scroll;
  this.scrollBase = args.scrollBase || 35;
 }
 this.y = 0;//mousedown时记录鼠标的纵坐标
 this.init();
}
Scroller.prototype = {
 $:function(id) {
  if (typeof id === "object") { return id; } 
  return do
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以通过添加或移除CSS类名来实现JavaScript实现卷轴展开关闭效果。首先,需要有一个包含卷轴内容的容器元素和一个用于触发展开和关闭的按钮,例如: ```html <div class="scroll-wrapper"> <div class="scroll-content"> <!-- 卷轴内容 --> </div> </div> <button class="toggle-btn">展开/关闭</button> ``` 然后,通过CSS设置容器元素的高度为0,使卷轴内容默认隐藏,例如: ```css .scroll-wrapper { height: 0; overflow: hidden; transition: height 0.3s ease-out; } ``` 接着,需要通过JavaScript来监听按钮的点击事件,并通过添加或移除CSS类名来实现卷轴的展开和关闭,例如: ```javascript const toggleBtn = document.querySelector('.toggle-btn'); const scrollWrapper = document.querySelector('.scroll-wrapper'); toggleBtn.addEventListener('click', () => { if (scrollWrapper.classList.contains('open')) { scrollWrapper.classList.remove('open'); scrollWrapper.style.height = 0; } else { scrollWrapper.classList.add('open'); scrollWrapper.style.height = scrollWrapper.scrollHeight + 'px'; } }); ``` 在这段代码中,我们通过classList来判断容器元素是否已经展开,如果已经展开则移除open类名并将高度设为0,否则添加open类名并将高度设为容器元素的滚动高度,即scrollHeight。 最后,需要通过CSS设置容器元素的过渡效果,使展开和关闭效果更加平滑,例如: ```css .scroll-wrapper { height: 0; overflow: hidden; transition: height 0.3s ease-out; } ``` 这样,就完成了JavaScript实现卷轴展开关闭效果的代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值