帮助中心
获取牛币
联系我们
关于我们
版权声明
素材牛首页
微博登录
QQ登录
微信扫码登录
注册
登录
新浪微博
QQ登陆
微信登录
热门搜索:
小程序
支付
Java
后台模板
上传
商城模板
jQuery
手机
Thinkphp
微信
Vue.js
首 页
网页特效
整站源码
PHP实例
网站模版
工具箱
常用代码
论坛
游戏源码
资源分享
当前位置:
首页
»
精选常用代码
» jQuery鼠标拉框进行复选选择
jQuery鼠标拉框进行复选选择
浏览:926次
-
评论:0次
-
发布时间:2019-03-08
Html
Css
Js
对齐
.demo { width:100px; height:100px; border:1px #000000 solid; position:absolute; } .demo0 { top:200px; left:100px; } .demo1 { top:350px; left:220px; } .demo2 { top:500px; left:340px; } .demo3 { top:650px; left:460px; } .demo4 { top:800px; left:580px; } .demo5 { top:950px; left:700px; } .demo6 { top:850px; left:820px; } .demo7 { top:600px; left:940px; } .multi-selected { background:rgba(7,32,57,0.6); } .btn { position:absolute; height:90px; width:160px; border:2px #000000 solid }
$(document).on('mousedown', function(e) { var $tar = $(e.target); if (!$tar.hasClass('selected')) { $.extend(document, { 'multiLine': true, 'startPos': { "x": e.pageX, "y": e.pageY }, 'endPos': { "x": e.pageX, "y": e.pageY } }) $('body').append('
'); } }).on('mousemove', function(e) { if (this.multiLine) { this.endPos = { "x": e.pageX, "y": e.pageY } let $mLine = $('.multiLine'), startX = this.startPos.x, startY = this.startPos.y, endX = this.endPos.x, endY = this.endPos.y, width = Math.abs(endX - startX) + "px", height = Math.abs(endY - startY) + "px", left = endX > startX ? startX : endX, top = endY > startY ? startY : endY; $mLine.css({ position: 'absolute', width: width, height: height, left: left, top: top, outline: "2px dashed #309cd0" }) multiSelect() } }).on('mouseup', function(e) { this.multiLine = false; $('.multiLine').remove(); }) $('.btn').click(function(e) { aline(0) }) function multiSelect() { var domArr = document.querySelectorAll('.demo'), $mLine = $('.multiLine'), mTop = $mLine.position().top, mLeft = $mLine.position().left, mTop2 = mTop + $mLine.height(), mLeft2 = mLeft + $mLine.width(); domArr.forEach(function(e) { var $dom = $(e), left = $dom.position().left, top = $dom.position().top, left2 = left + $dom.width(), top2 = top + $dom.height(); if (!(left > mLeft2 || left2 < mLeft || top > mTop2 || top2 < mTop)) { $dom.addClass('multi-selected') } else { $dom.removeClass('multi-selected') } }) } function aline(num) { var multiArr = document.querySelectorAll('.multi-selected'), mTop = 9999, mLeft = 9999, mRight = 0, mBottom = 0; if (multiArr.length > 1) { multiArr.forEach(function(e) { var top = $(e).position().top if (top < mTop) { mTop = top; } }) $('.multi-selected').css({ top: mTop }) } }
↑上面代码改变,会自动显示代码结果
jQuery调用版本:
1.11.3
<!doctype html><html><head><meta charset="utf-8"><title>jQuery鼠标拉框进行复选选择-www.sucainiu.com</title><script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script><style>
</style></head><body>
<script>
</script>
</body></html>
立即下载
收藏
积分说明:注册即送10牛币,每日签到可获得5牛币,成为VIP会员可永久免牛币下载!
充值积分
充值会员
更多说明»
代码描述:按下鼠标右键不放进行框选操作
需要鼠标进行框选实现复选的交互功能
抖音、点名表、随机抽奖
仿Mac OS导航器
讨论这个常用代码(0)
回答他人问题或分享心得会奖励牛币
〒_〒 居然一个评论都没有……
文明上网,理性发言! 😉 阿里云幸运券,
戳我领取
发表评论
提交回复
我的积分余额:
0
已下载次数:
926
所需牛币:
5
开始下载
牛币获取:
签到、评论、充值
» 在线充值
(10牛币=1元)
成为VIP可永久免积分下载全部常用代码
» 查看详情
VIP
客服
签到
充值