`
itsuki
  • 浏览: 10469 次
  • 性别: Icon_minigender_1
  • 来自: 火星
最近访客 更多访客>>
社区版块
存档分类
最新评论

一个纯JS的微调按钮类

阅读更多

做人要厚道,转载请注明
就是那种点上下箭头加减数字的东东 , 费话少说,上代码

 

//itsuki@20110405
function spinner( _target ){
	var _this		= this;
	this.target		= {};
	this.spin		= null;
	this.step		= 1;
	
	this.bind		= function(){
		if (!this.target) return false;
		this.spin	= document.createElement( "label" );
		this.spin.style.cssText = "display:inline-block;width:20px;height:24px;overflow:auto;overflow-y:scroll;vertical-align:middle;";
		this.spin.innerHTML = "<br/><br/><br/><br/>";
		this.spin.onmouseover = function(){
			_this.spin.scrollTop = 1;
		}
		
		this.spin.onscroll = function(){
			if ( _this.spin.scrollTop == _this.spin.getAttribute("orgscrolltop") ) return;

			if (_this.spin.scrollTop!=1){
				if (!_this.target.value || isNaN(_this.target.value)) _this.target.value=0;
				if (_this.spin.scrollTop==0){
					_this.target.value = parseFloat(_this.target.value,10)+_this.step;
				}else{
					_this.target.value = parseFloat(_this.target.value,10)-1;
					if (parseFloat(_this.target.value,10)<0) _this.target.value=0;
				}
			}

			_this.spin.setAttribute("orgscrolltop",_this.spin.scrollTop);
			_this.spin.scrollTop = 1;
		}

		if (this.target.nextSibling){
			this.target.parentNode.insertBefore( this.spin , this.target.nextSibling );
		}else{
			this.target.parentNode.appendChild( this.spin );
		}
	}

	if (_target){
		this.target = document.getElementById( _target );
		this.bind();
	}
}

 

HOW TO USE

 

<!DOCTYPE html  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>-</title>
	<script type="text/javascript" src="/scripts/class.spinner.js"></script>
</head>
<body>
	<div >
		<input id="input1" />
		<input id="input2" />
		<script type="text/javascript">
			new spinner("input1");
			new spinner("input2");
		</script>
	</div>
</body>
</html>
 

兼容性:

测试了IE和chrome木有问题,FF下必须要设置高度为34以上才有滚动条,囧...反正FF恶心也不是一天两天了...

 

 

 

 

 

2
1
分享到:
评论

相关推荐

    javascript 微调按钮

    以下是一个简单的JavaScript微调按钮实现的示例: ```html &lt;!DOCTYPE html&gt; &lt;title&gt;JavaScript Spin Button function increaseValue() { var value = document.getElementById('spinButton').value; if ...

    js特效按钮控制图片左右自动滚动

    "js特效按钮控制图片左右自动滚动"这个主题就是关于如何利用JavaScript实现一个交互式的图片展示功能,让用户可以通过按钮控制图片在水平方向上自动或手动滚动。这个功能常用于产品展示、相册浏览等场景,为用户提供...

    数字微调input兼容IE6

    "数字微调input兼容IE6"这个主题涉及到的是如何在古老的Internet Explorer 6(简称IE6)浏览器上实现一个数字输入框(通常称为spinner或numeric stepper)的功能。数字微调input允许用户通过加减按钮或键盘上下箭头...

    椭圆按钮(重新定义类)

    为了改变这一默认样式,我们需要自定义一个新类,继承自原始的按钮类,并覆盖或扩展其绘图方法。在许多编程语言中,如Java、C#或Python,我们可以这样做: 1. **创建新类**:在你的代码中,创建一个新的类,比如...

    基于Bootstrap的水晶玻璃质感按钮

    此外,还可以通过调整边框、边框半径、过渡效果等CSS3属性来微调按钮的外观。例如,使用`border-radius`设置圆角,`transition`实现悬停时的动画效果,以及`z-index`确保伪元素的正确堆叠顺序。 最后,这个压缩包...

    简单的jQuery点击按钮弹出侧边导航栏代码

    为了提高用户体验,可以考虑添加一些额外的交互元素,如过渡动画、微调按钮样式等。 综上所述,通过HTML、CSS和jQuery的结合,我们可以创建一个简单的点击按钮弹出的侧边导航栏。这个功能不仅提高了页面的可操作性...

    jQuery ui数字微调插件rar

    数字微调器(Numeric Spinner)是jQuery UI中的一个交互元素,它基于HTML `&lt;input type="number"&gt;` 元素构建,增加了向上和向下的箭头按钮,使得用户可以方便地增加或减少数字值。要使用这个插件,首先需要确保已经...

    react-native-spinner-button:使用多个动画微调器来响应本机按钮组件

    这是一个纯Javascript和React-native Button组件,其中嵌入了一个Spinner。 在许多本机项目中,我们要求在应用程序点击该按钮时正在处理某项时禁用该按钮,并在其上或其旁边加载指示符,以便使用户知道应用程序正在...

    数字微调输入框

    首先,数字微调输入框的设计通常包括一个文本输入框和两个箭头按钮,分别代表增加和减少数值。用户点击箭头按钮会触发事件,更新输入框中的数值。设计时需考虑用户体验,如每次点击箭头按钮增加或减少的数值量、是否...

    JavaScript-checkedcss是一款能够制作复选框和单选按钮点击动画的CSS3动画库

    JavaScript-checkedcss是一个基于CSS3的动画库,专为复选框(checkbox)和单选按钮(radio button)设计,提供了一种创新的方式来增强用户交互体验。这个库包含了23种不同的点击动画效果,使得这些常见的表单元素在...

    jQuery模拟skype动态按钮,带对勾的按钮

    本主题聚焦于使用jQuery库来模拟Skype的动态按钮,这个按钮具有一个醒目的对勾标志,当鼠标悬停时,对勾会有生动的动画效果。下面将详细介绍如何利用jQuery实现这一功能。 首先,jQuery是一款广泛使用的JavaScript...

    JQ 浮动按钮

    // 添加一个类,应用额外的样式或动画 } else { $("#floatBtn").removeClass("stick"); // 移除该类 } }); ``` 4. **可选优化**:可以添加动画效果,当按钮变为固定时,增加平滑过渡: ```css .stick { ...

    纯JavaScript网页取色器代码.rar

    纯JS实现的网页取色器代码,或者叫拾色器,颜色选择器选色使用技巧:1.双击颜色 或 单击颜色,微调亮度,点确定2.色彩亮度微调:在右边竖立的颜色条中进行,下载本程序方法:在IE菜单中,点 文件 按钮,点保存即可。或...

    第26章 Spinner(微调)组件1

    第26章中,我们将深入探索EasyUI中的Spinner组件,这是专为精确数值输入设计的一个重要组件。Spinner组件基于ValidateBox组件构建,增加了数值微调的交互功能,并允许开发者通过丰富的属性、事件和方法来高度定制。 ...

    ASP.NET2.0 WebRource,开发微调按钮控件

    现在。有许多开发人员已经在使用ASP.NET2.0的Web...a=s&r=WebUIValidation.js&t=631944362841472848″ type=”text/javascript”&gt;[removed]目前我发现webResource.axd的参数跟现在版本有属不同。在早期文章介绍属性:

    waitBtn:带有微调器和双击的按钮可防止

    "waitBtn:带有微调器和双击的按钮可防止"这个标题描述了一个特殊的按钮组件,它集成了微调器(slider)功能和双击保护机制。这种组件在用户界面中可以用于更精确的数值输入或者防止用户意外触发多次操作。 微调器...

    css自定义文件上传按钮样式

    这样,我们可以为`&lt;label&gt;`添加任何我们想要的样式,使其看起来像一个按钮。 3. 添加背景色、边框、字体样式: CSS提供了丰富的属性,如`background-color`、`border`、`font-size`、`color`等,可以用来定义按钮...

    纯CSS3发光分享按钮的实现教程

    在示例中,使用了一个`&lt;ul&gt;`列表来水平排列五个分享按钮,每个按钮由一个`&lt;li&gt;`列表项和一个`&lt;a&gt;`链接组成,链接内部包含一个`&lt;i&gt;`元素,用于展示图标。以下是基本的HTML代码: ```html &lt;li&gt;&lt;a href="#"&gt;&lt;i&gt;...

    制作网页按纽,方便快婕美化你的网页

    在这个话题中,我们将专注于一个特定的元素——网页按钮,以及如何快速有效地制作它们。 网页按钮是引导用户与网站进行互动的主要工具,无论是提交表单、跳转页面还是执行其他操作,按钮都起着至关重要的作用。一个...

    jQuery EasyUI API 中文文档 - Spinner微调器使用

    validatebox主要是一个文本框,支持验证功能,而Spinner微调器在此基础上添加了微调按钮,使得用户可以通过按钮来调整输入值。 #### 知识点三:Spinner微调器的依赖 Spinner微调器的实现依赖于validatebox控件。在...

Global site tag (gtag.js) - Google Analytics