使用js +卡文实现一个图片滑块验证效果

  介绍

使用js +卡文实现一个图片滑块验证效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

代码:html

& lt; !DOCTYPE html>   & lt; html lang=癳n"祝辞      & lt; head>   & lt;元charset=癠TF-8"祝辞   & lt;元名称=皏iewport"内容=翱矶?设备宽度,初始=1.0,比;   & lt;元http-equiv=癤-UA-Compatible"内容=癷e=edge"比;   & lt; title> Document   & lt; style>   * {   保证金:0;   填充:0;   }         .sliderModel {   位置:固定;   左:0;   上图:0;   宽度:100%;   高度:100%;   背景:rgba (0, 0, 0, 0.5);   显示:flex;   justify-content:中心;   对齐项目:中心;   显示:没有;      }   .sliderModel .cont{填充:20 px;宽度:280 px;背景:# fff; border - radius: 6 px;保证金:50 px汽车;}   .showMessage {   text-align:中心;   字体大小:14 px;   高度:30 px;   行高:30 px;   }      # canvas_wrap {   宽度:280 px;   }   # {canvas_wrap画布   显示:块;   }      & lt;/style>   & lt;/head>      & lt; body>   & lt; div类=皊liderModel"祝辞   & lt; div类=癱ont"祝辞   & lt; div id=癱anvas_wrap"祝辞& lt;/div>   & lt; div类=皊howMessage"祝辞& lt;/div>   & lt;/div>   & lt; div id=癱lose"祝辞关闭& lt;/div>   & lt;/div>   & lt; div id=皁pen"祝辞打开& lt;/div>   & lt;/body>   https://www.yisu.com/zixun/& lt;脚本src=" newSlider.js ">   <>脚本   函数showMessage(味精、颜色){   var showMessage=document.querySelector (“.showMessage”);   showMessage.innerHTML=味精;   showMessage.style.color=颜色;   }   var obj={   埃尔:“# canvas_wrap ',   w: 280年,   h: 150,   imgArr:(“图像/sliderz/1. jpg”,“图像/sliderz/2. jpg”,“图像/sliderz/3. jpg”, 4./sliderz/jpg图片的),   sliderIcon:“图像/sliderz/sangangy.png”,   刷新:函数(){   showMessage (“# 333)   },   完成:函数(e) {   e # 63;showMessage(“验证成功!”,“绿色”):showMessage(“验证失败,请重试”,“红”);   }   }         document.querySelector (“#”) .onclick=function(){//打开   document.querySelector (“.sliderModel”) .style.display=翱椤?   新窗口。美元newSlider (obj);      }      document.querySelector(“#关闭”).onclick=函数(){//关闭   document.querySelector (“.sliderModel”) .style.display=懊挥小?   }>

newSlider。js:

(函数(){   函数滑块(params) {   var obj={   艾尔:params.el,   w:参数。//w | | 280年,画布的宽度   h:参数。h | | 150年,//帆布的高度   范围:参数。//相范围| | 5日差多少像素内触发成功   imgArr:参数。imgArr | |[],//图片数组   sliderW: 36,//滑块的边长   sliderIcon:参数。sliderIcon | | & # 39; & # 39;   刷新:参数。刷新,//刷新回调   完成:参数。完成,//完成回调      };//创建画布的父元素   var=document.querySelector容器(obj.el);   container.innerHTML=& # 39; & # 39;;   var canvas_wrap=document.createElement (& # 39; div # 39;);   canvas_wrap.className=癱anvas_wrap";   canvas_wrap.style.cssText=拔恢?相对;溢出:隐藏;border - radius: 4 px;宽度:“+ obj.w +“px;高度:“+ obj.h +“px;背景:# fff"//创建大小帆布元素   var bigCanvas=document.createElement(& # 39;帆布# 39;);   var smartCanvas=bigCanvas.cloneNode(真正的);   bigCanvas.width=smartCanvas.width=obj.w;   bigCanvas.height=smartCanvas.height=obj.h;   bigCanvas.style.cssText=smartCanvas.style.cssText=拔恢?绝对的,左:0;最高:0“;;   var bcxt=bigCanvas.getContext (& # 39; 2 d # 39;), scxt=smartCanvas.getContext (& # 39; 2 d # 39;), img=新形象();//创建标题和刷新按钮   var titleDom=document.createElement (& # 39; div # 39;);   var refreshDom=document.createElement (& # 39; div # 39;);   titleDom.className=皊lider_title";   refreshDom.className=皊lider_refresh";   titleDom.style.cssText=拔恢?相对;宽度:“+ obj.w +“+ px;高度:60 px; text-align:中心;字体大小:18 px;行高:60 px";   refreshDom.style.cssText=拔恢?绝对;最高:0;右:14 px;字体大小:14 px;颜色:绿色,光标:pointer";   titleDom.innerHTML=巴夹窝橹ぁ?   refreshDom.innerHTML=八⑿隆?//创建拖拽区域   var slider_wrap=document.createElement (& # 39; div # 39;),滑块=document.createElement (& # 39; div # 39;), sliderCover=document.createElement (& # 39; div # 39;);   slider_wrap.className=皊lider_wrap";   slider.className=癱anvas_slider";   sliderCover.className=皊liderCover";   slider_wrap.innerText=巴隙蟊呋橥瓿缮戏狡赐肌?   slider_wrap.style.cssText=翱矶?“+ obj.w +“px;高度:30 px;border - radius: 30 px;行高:30 px;位置:相对;margin-top: 10 px; text-align:中心;不必:插图0 0 4 px # ccc;字体大小:14 px;颜色:# 999“;   slider.style.cssText=肮獗?指针;位置:绝对的,左:0;:50%;z - index: 2;高度:“+ obj.sliderW +“px;宽度:“+ obj.sliderW +“px;背景:rgb(0、124、255)的url (“+ obj.sliderIcon +“)没有重演中心;background-size: 60% - 60%; border - radius:“+ obj.sliderW +“px;行高:“+ obj.sliderW +“px; text-align:中心;变换:translateY (-50%);“;   sliderCover.style.cssText=拔恢?绝对的,左:0;:0;宽度:0;高度:100%;背景:# eee; border - radius: 30 px;“      slider_wrap.appendChild(滑块);   slider_wrap.appendChild (sliderCover);   canvas_wrap.appendChild (bigCanvas);   canvas_wrap.appendChild (smartCanvas);   titleDom.appendChild (refreshDom);   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

使用js +卡文实现一个图片滑块验证效果