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模拟常见的拖拽验证的更多相关文章

  1. 一款基于jQuery的支持鼠标拖拽滑动焦点图

    记得之前我们分享过一款jQuery全屏广告图片焦点图,图片切换效果还不错.今天我们要分享另外一款jQuery焦点图插件,它的特点是支持鼠标拖拽滑动,所以在移动设备上使用更加方便,你只要用手指滑动屏幕即 ...

  2. js 利用jquery.gridly.js实现拖拽并且排序

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. jQuery UI API - 可拖拽小部件(Draggable Widget)(转)

    所属类别 交互(Interactions) 用法 描述:允许使用鼠标移动元素. 版本新增:1.0 依赖: UI 核心(UI Core) 部件库(Widget Factory) 鼠标交互(Mouse I ...

  4. jquery.dragsort.js 实现拖拽过程遇到的问题

    .在IE下第一次拖动的时候,被拖动的li元素会不显示,查了很多资料发现是因为在IE中定位出了问题,li标签还在,只是位置计算出错.解决的办法是在li的css样式中position设置为relative ...

  5. jquery dragsort table实现拖拽排序

    转自:http://haoningabc.iteye.com/blog/1593640 dragsort官网地址:http://dragsort.codeplex.com/ html代码如下(需引入j ...

  6. jquery弹出层拖拽

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <met ...

  7. jQuery的DOM操作实例(2)——拖拽效果&&拓展插件

    一.原生JavaScript编写拖拽效果 二.jQuery编写的拖拽效果 三.在jQuery中拓展一个拖拽插件

  8. jquery插件之拖拽改变元素大小

    该插件乃本博客作者所写,目的在于提升作者的js能力,也给一些js菜鸟在使用插件时提供一些便利,老鸟就悠然地飞过吧. 此插件旨在实现目前较为流行的拖拽改变元素大小的效果,您可以根据自己的实际需求来设置被 ...

  9. jquery插件之拖拽

    该插件乃本博客作者所写,目的在于提升作者的js能力,也给一些js菜鸟在使用插件时提供一些便利,老鸟就悠然地飞过吧. 此插件旨在实现目前较为流行的拖拽效果,您可以根据自己的实际需求来设置被拖拽元素是否可 ...

随机推荐

  1. Solr配置步骤

    1. 配置步骤说明 (1)配置Solr服务器. (2)配置SolrHome.(Solr服务的主目录,磁盘) (3)在Solr服务器中加载SolrHome. (4)java程序访问Solr服务器,实现全 ...

  2. JavaWeb处理GET、POST时的编码乱码问题

    对于GET方法,只要设置了res.setContentType("text/html;charset=UTF-8"), req.getParameter()就不会产生乱码. 对于P ...

  3. 产品研发不等待 i.MX6Q全新推出增强版本 官方店铺下单双重优惠

    迅为全新推出PLUS版本的i.MX6Q方案,版本介绍:它是NXP公司全新推出的i.MX6Q增强版新品,显著增强了图形和存储器性能,面向较高图形性能的先进消费电子.汽车和工业多媒体应用的多核平台.

  4. 命令行神器之argparse使用笔记

    示例 废话不多说直接给例子: import argparse parser = argparse.ArgumentParser(description='Imbalanced Dataset Exam ...

  5. OnePlus5刷机后一直检查更新

    大概是由于爱折腾,上一个手机是Nexus5,现在又是Oneplus5,闲来无事就爱刷机. 昨天看OnePlus官网的氧OS更新到Android9.0,于是又开启了刷机旅程. 显然这次没有之前那么顺利, ...

  6. java学习笔记07-循环

    java有三种主要的循环结构 while循环 do...while循环 for循环 while循环 while(布尔表达式){ //循环内容 } public static void main(Str ...

  7. 关于/tmp/ 目录自动清理文件

    问题:今天开发人员给我说了一个错误:The temporary upload location [/tmp/tomcat.1337767218595042057.80/work/Tomcat/loca ...

  8. 【easy】784. Letter Case Permutation

    Examples: Input: S = "a1b2" Output: ["a1b2", "a1B2", "A1b2", ...

  9. C++多线程join同步问题

    其实就是想记录一下自己的想法,就是关于多个线程的执行顺序的思考.之前一直觉得std::thread::join会阻塞其他线程的运行,其实并不是这样子的.举个例子 std::vector<std: ...

  10. Java软件工程的弹幕调试原则

    日期:2019.4.25 博客期:054 星期四 今天是把很久之前的那个相关程序——一维数组的最大和的子数组的求取信息,我们今天的任务就是把每一步的信息都要进行输出查看! 如下图: package p ...