JQuery模拟常见的拖拽验证
css部分
<style>
#drag{
position: relative;
background-color: #e8e8e8;
width: 300px;
height: 34px;
line-height: 34px;
text-align: center;
margin: 50px auto;
}
#drag .handler{
position: absolute;
top: 0px;
left: 0px;
width: 40px;
height: 32px;
border: 1px solid #ccc;
cursor: move;
}
.handler_bg{
background: #fff url("img/1.png") no-repeat center;
}
.handler_ok_bg{
background: #fff url("img/2.png") no-repeat center;
}
#drag .drag_bg{
background-color: #7ac23c;
height: 34px;
width: 0px;
}
#drag .drag_text{
position: absolute;
top: 0px;
width: 300px;
}
</style>
html部分
<div id="drag">
<div class="drag_bg"></div>
<div class="drag_text">拖动滑块验证</div>
<div class="handler handler_bg"></div>
</div>
JQuery部分
<script>
$(function(){
$(".handler").on("mousedown",function(e){
var disX = e.clientX - $("#drag").offset().left;
var maxWidth = $("#drag").width() - $(".handler").width();
$(document).on("mousemove",function(e){
var x = e.clientX - $("#drag").offset().left - disX;
x = Math.max(Math.min(x,maxWidth),0);
$(".handler").css("left",x);
$(".drag_bg").width(x);
if(x == maxWidth){
$(".handler").removeClass("handler_bg").addClass("handler_ok_bg");
$(".drag_text").css("color","#fff").html("验证成功");
$(document).off("mousemove");
$(document).off("mouseup");
$(".handler").off("mousedown");
e.preventDefault();
}
});
$(document).on("mouseup",function(e){
$(document).off("mousemove");
$(document).off("mouseup");
var x = e.clientX - $("#drag").offset().left - disX;
if(x < maxWidth){
$(".handler").css("left",0);
$(".drag_bg").width(0);
}
});
e.preventDefault();
});
});
</script>
JQuery模拟常见的拖拽验证的更多相关文章
- 一款基于jQuery的支持鼠标拖拽滑动焦点图
记得之前我们分享过一款jQuery全屏广告图片焦点图,图片切换效果还不错.今天我们要分享另外一款jQuery焦点图插件,它的特点是支持鼠标拖拽滑动,所以在移动设备上使用更加方便,你只要用手指滑动屏幕即 ...
- js 利用jquery.gridly.js实现拖拽并且排序
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- jQuery UI API - 可拖拽小部件(Draggable Widget)(转)
所属类别 交互(Interactions) 用法 描述:允许使用鼠标移动元素. 版本新增:1.0 依赖: UI 核心(UI Core) 部件库(Widget Factory) 鼠标交互(Mouse I ...
- jquery.dragsort.js 实现拖拽过程遇到的问题
.在IE下第一次拖动的时候,被拖动的li元素会不显示,查了很多资料发现是因为在IE中定位出了问题,li标签还在,只是位置计算出错.解决的办法是在li的css样式中position设置为relative ...
- jquery dragsort table实现拖拽排序
转自:http://haoningabc.iteye.com/blog/1593640 dragsort官网地址:http://dragsort.codeplex.com/ html代码如下(需引入j ...
- jquery弹出层拖拽
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <met ...
- jQuery的DOM操作实例(2)——拖拽效果&&拓展插件
一.原生JavaScript编写拖拽效果 二.jQuery编写的拖拽效果 三.在jQuery中拓展一个拖拽插件
- jquery插件之拖拽改变元素大小
该插件乃本博客作者所写,目的在于提升作者的js能力,也给一些js菜鸟在使用插件时提供一些便利,老鸟就悠然地飞过吧. 此插件旨在实现目前较为流行的拖拽改变元素大小的效果,您可以根据自己的实际需求来设置被 ...
- jquery插件之拖拽
该插件乃本博客作者所写,目的在于提升作者的js能力,也给一些js菜鸟在使用插件时提供一些便利,老鸟就悠然地飞过吧. 此插件旨在实现目前较为流行的拖拽效果,您可以根据自己的实际需求来设置被拖拽元素是否可 ...
随机推荐
- 更改checkbox的默认样式
最近做一个vue项目要用到checkbox要修改默认样式,选中是纯白色,不选择只有白色边框,起初以为很容易,没想到还折腾了一翻,记录一下. 几经折腾,理清input 和label的关系 最终改进版本, ...
- git工具——对比文件的不同
对比工作区和某个版本中文件的不同: (1)继续编辑文件code.txt,在其中添加一行内容: (2)现在要对比工作区中code.txt和head版本中code.txt的不同,使用如下命令: 前面没有出 ...
- ffmpeg错误:Invalid UE golomb code
解决方案在github https://github.com/FFmpeg/FFmpeg/commit/c51c08e0e70c186971385bdbb225f69edd4e3375 问题简要描述为 ...
- PHP Request请求封装
/** * Request请求封装 * Class Request * @package tool */ class Request { // curl 请求错误码 protected static ...
- Python 爬虫-进阶开发之路
第一篇:爬虫基本原理: HTTP, 爬虫基础 第二篇:环境安装与搭建: 第三篇:网页抓取:urllib,requests,aiohttp , selenium, appium 第四篇:网页解析:re ...
- (转)理解maven命令package、install、deploy的联系与区别
我们在用maven构建java项目时,最常用的打包命令有mvn package.mvn install.deploy,这三个命令都可完成打jar包或war(当然也可以是其它形式的包)的功能,但这三个命 ...
- Django—第三方引用
索引 一.富文本编辑器 1.1 在Admin中使用 1.2 自定义使用 1.3 显示 二.全文检索 2.1 创建引擎及索引 2.2 使用 三.发送邮件 一.富文本编辑器 借助富文本编辑器,网站的编辑人 ...
- ceph hammer 0.94.10手动部署方法Ceph Hammer版(0.94.10)手动部署for CentOS 7.x
Ceph Hammer版(0.94.10)手动部署for CentOS 7.x --lin.wang 20190310 环境有三个节点node-1,node-2,node-3,每个节点三个ssd盘作为 ...
- dataGridView笔记
最近用dataGridView比较多,先把代码备份在这里,有时间系统总结一下 using FindId.DAL; using FindId.Model; using System; using Sys ...
- CF1082
D 乱搞题..发现只有a[i]=1是特殊的 瞎搞一下 E 发现一段的贡献是出现次数最多的-为c个数 然后考虑分别对每种颜色做一下 然后每次只有这种颜色和他们之间是有用的 然后做个最大区间和就好了 F ...