- 浏览: 256479 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
aliang032:
php socket 编程建使用http://www.work ...
PHP Socket 编程 -
大秦布衣:
不错的教程 简明额要 不过要是完善百度的照片就更好了
Git入门教程 -
bravelinw:
这个问题网上有很多个版本,有的还弄得很深邃,还是lz的看到了问 ...
(leopard)MySQL #2002 - 服务器没有响应 -
sunnylocus:
很有感触,我也是刚刚做项目经理,沟通能力是做PM的基本要求,希 ...
面试了一位项目经理后我的感想 -
artoy:
看来,对技术人员也有与对销售人员相同的要求,
面试了一位项目经理后我的感想
<html>
<head>
<title>slider tests</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
/*
* Uestc
* [url]www.stuhome.net[/url]
*/
function $(objectId) {
if(document.getElementById && document.getElementById(objectId)) {
return document.getElementById(objectId);
} else if (document.all && document.all(objectId)) {
return document.all(objectId);
} else if (document.layers && document.layers[objectId]) {
return document.layers[objectId];
} else {
return false;
}
};
Number.prototype.NaN0=function(){return isNaN(this)?0:this;}
function getMouseOffset(target, ev){
ev = ev || window.event;
var docPos = getPosition(target);
var mousePos = mouseCoords(ev);
return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}
function getPosition(e){
var left = 0;
var top = 0;
while (e.offsetParent){
left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0);
top += e.offsetTop + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0);
e = e.offsetParent;
}
left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0);
top += e.offsetTop + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0);
return {x:left, y:top};
}
function mouseCoords(ev){
if(ev.pageX || ev.pageY){
return {x:ev.pageX, y:ev.pageY};
}
return {
x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y:ev.clientY + document.body.scrollTop - document.body.clientTop
};
}
//为元素添加事件
function AddObjectEvent(targetObj,eventName,eventFunc)
{
if(typeof targetObj == "string")
targetObj = $(targetObj);
if(targetObj)
{
if(targetObj.attachEvent)
{
targetObj.attachEvent(eventName,eventFunc);
}
else if(targetObj.addEventListener)
{
eventName = eventName.toString().replace(/on(.*)/i,'$1');
targetObj.addEventListener(eventName,eventFunc,true);
}
}
}
function MakeSlider(track,slider,iniPos,OnMoveFunc,OnUpFunc){
if(typeof track == "string")
track = $(track);
if(typeof slider == "string")
slider = $(slider);
if(!slider||!track) return;
var preLocation = iniPos;
var MethodOnMove = OnMoveFunc?OnMoveFunc:function(){};
var MethodOnUp = OnUpFunc?OnUpFunc:function(){};
var iMouseDown = false;
var sliderObj = null;
var trackObj = null;
var preMousePos = null;
var slideRange = {min:null,max:null};
var prePosition = getPosition(slider);
slideRange.min = getPosition(track).x;
slideRange.max = getPosition(track).x+track.offsetWidth;
var lengthTrack = track.offsetWidth;
var lengthSlider = slider.offsetWidth;
var outInterface = preLocation;
slider.style.position = "relative";
var OnLoad = function(){
slider.style.left = (lengthTrack*preLocation-lengthSlider/2).toString()+"px";
ReLocate();
};
slider.onmousedown = function(ev){
ev = ev||window.event;
iMouseDown = true;
sliderObj = this;
trackObj = track;
mouseOffset = getMouseOffset(this, ev);
preMousePos = mouseCoords(ev);
return false;
};
var CheckOut = function(ev){
ev = ev || window.event;
var mousePos = mouseCoords(ev);
if(mousePos.x<=(slideRange.min+mouseOffset.x))
return 1; //左边超界
if(mousePos.x>=(slideRange.max-(slider.offsetWidth - mouseOffset.x)))
return 2; //右边超界
return 0; //没有超界
};
var OnSliding = function(ev){
if(!iMouseDown||!sliderObj)return;
ev = ev || window.event;
var mousePos = mouseCoords(ev);
var out = CheckOut(ev);
if(0 != out){
if(1 == out){
sliderObj.style.left = "0px";
outInterface = 0;
}
else if(2 == out){
sliderObj.style.left = (lengthTrack-lengthSlider)+"px";
outInterface = 1;
}
MethodOnMove(outInterface);
return false;
}
if(sliderObj){
var reSliderLeft = mousePos.x - slideRange.min - mouseOffset.x;
sliderObj.style.left = (reSliderLeft)+"px";
outInterface = reSliderLeft/(lengthTrack-lengthSlider);
MethodOnMove(outInterface);
}
if(trackObj || sliderObj)
return false;
}
var OnSlideEnd = function(ev){
if(sliderObj||trackObj){
sliderObj = null;
trackObj = null;
iMouseDown = false;
MethodOnUp(outInterface);
}
}
var OnTrackDown = function(ev){
var mousePos = mouseCoords(ev);
slider.style.left = (mousePos.x - slideRange.min - slider.offsetWidth/2)+"px";
ReLocate();
outInterface = parseInt(slider.style.left.match(/(\d)+/))/(lengthTrack-lengthSlider);
MethodOnUp(outInterface);
};
var ReLocate = function(){
if(slider.style.left.indexOf("-") >= 0)
slider.style.left = "0px";
else if(parseInt(slider.style.left.match(/(\d)+/)) >= (lengthTrack-lengthSlider))
slider.style.left = (lengthTrack-lengthSlider)+"px";
};
AddObjectEvent(document,"onmousemove",OnSliding);
AddObjectEvent(document,"onmouseup",OnSlideEnd);
AddObjectEvent(track,"onclick",OnTrackDown);
AddObjectEvent(window,"onload",OnLoad);
}
//-->
</SCRIPT>
</head>
<body>
<div id="track1" style="width:200px;background-color:#aaa;height:10px;">
<div id="handle1" style="width:5px;height:10px;background-color:#ff0000;"></div>
</div>
<p id="debug1"> </p>
<script>
MakeSlider('track1','handle1',0.5,function(v){$('debug1').innerHTML='滑动: '+v},function(v){$('debug1').innerHTML='结束: '+v});
</script>
</body>
</html>
发表评论
-
javascript 改变 css样式
2009-07-14 14:30 1535<style type="text/css&q ... -
用div 覆盖applet
2009-07-12 19:00 1440<HTML> <HEAD> ... -
将图像固定在页面右下角
2009-07-06 19:48 1028<HTML> <HEAD> ... -
iframe模拟frame拖动(兼容ie&ff)
2009-07-05 21:04 1492http://lily64.blogbus.com/logs/ ... -
div 隐藏和显示
2009-06-30 13:06 18183内容: div的visibility可以控制div的显示和隐 ... -
省份 城市 选择列表
2009-06-19 18:01 1670<SCRIPT language="Jav ... -
DIV的鼠标滑过显示层
2009-06-07 19:06 4059<style> ul { margin ... -
javascript setTimeout 和 setInterval
2009-05-26 13:48 1609setTimeout (表达式,延时时间) setInter ... -
动态添加表格
2009-04-30 14:53 704<html> <head> ... -
window.open()的所有参数列表
2009-04-29 18:38 649前言:经常上网的朋友可能会到过这样一些网站,一进入首页立刻 ... -
JavaScript 如何给JavaScript文件传递参数
2009-04-29 13:29 2428一、利用全局变量 这是最简单的一种方式,比如Google ... -
javascript 渐隐遮罩效果
2009-04-29 12:02 1916<!DOCTYPE html PUBLIC " ... -
弹出的窗口在规定时间内自动关闭,而且不作任何提示
2009-04-29 11:59 1206<script language="ja ... -
只出现一次的JavaScript Alert提示窗口
2009-04-29 11:57 1972<script language="Jav ...
相关推荐
本文实例为大家分享了JavaScript实现登录滑块验证的具体代码,供大家参考,具体内容如下 html代码 <div class="login-select"> <div v-show="errselectFlag" id="err-select"></div> 按住滑块,拖拽验证</p> ...
有意思的Js可拖动的渐变色角度选择器 Javascript模拟出的角度选择器,拖动这个简洁的滑块,会改变渐变色的角度,本代码有两个亮点:一个是滑块的拖动,别一个则是渐变色的实现,这两者的结合必然形成独特的代码
jQuery价格区间拖动滑块代码.zip
引言: 滑块拖动验证现在很多地方都用到,周末就琢磨着写了一个,放上来,看看有没有人用得上! 效果: 实现思路: 用一张画布绘制源图,再绘制一个填充的方形,这样就可以达到缺失的效果(方形的坐标是随机的...
jQuery拖动滑块时间轴选择日期代码.zip
Superslides 是一个全屏、硬件加速的 jQuery 滑块。我对全屏滑块的状态不满意,所以我自然而然地构建了自己的滑块。 用法 查看演示以获取交互式示例或查看示例文件夹以获取个别案例。像您的标准 jQuery 插件一样...
AJAX Control Toolkit 中的滑块控件提供了一个可以用鼠标来控制的图形滑块。可以在滑块的值变动时使滑块自动回传。 步骤 为使滑块变动时自动回传,需要对下面两个文本框设置属性 AutoPostBack="true" :其自身将...
本文实例为大家分享了Vue滑块验证的实现,代码如下 <template> ref="dragDiv"> <div class="drag_bg"></div> <div class="drag_text">{{confirmWords}}</div> @mousedown="mousedownFn($event)" :class=...
javascript 兼容IE和FF 可以设置默认值,可以在代码基础上可以增加自己的代码,注释有
基于 mithril.js ,javascript ,scss写一个可拖动的滑块组件,供大家参考,具体内容如下 问题描述: 需求需要实现一个可拖动的滑块组件,但是又不能用UI框架,只好自己动手写一个了。 废话不多说,直接上代码。 ...
利用canvas开发的圆形滑块,可控制。代码比较简单,就不做过多说明。
图像比较滑块是纯粹使用 JavaScript 编程语言创建的。这是一个用户友好的应用程序,可以自由定制以满足您的需求。该程序的目的是提供一种比较两个图像的方法。用户可以上传自己的图像并直观地评估差异。该应用程序的...
该系统为用户提供了一个通过拖动滑块来完成校验的验证码,支持PC端及移动端。此外,还新增了Blazor版本的滑块验证码。项目结构清晰,代码注释详尽,适合用于学习和研究Javascript在滑动验证码开发中的应用。
Vue3+Vue-cli4项目中使用腾讯滑块验证码的方法 简介: 滑块验证码相比于传统的图片验证码具有以下优点: 验证码的具体验证不需要... 开始: 首先,我们需要去腾讯云申请一个图形验证的api,使用场景中选择自
html5 canvas拼图拖到验证码代码,仿QQ第三方登录鼠标拖动滑块图片重叠验证代码。
js实现拖动滑块验证的代码就放这里了,可以自己看
jQuery全屏横向时间轴滑块代码.zip
HTML5鼠标拖动滑块条百分比代码.zip
主要介绍了Javascript 鼠标移动上去 滑块跟随效果代码,有需要的朋友可以参考一下
jQuery带滑块拖动图片相册代码.zip