`
shiwuyisheng
  • 浏览: 66458 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

一个进度条

阅读更多

项目中需要一个进度条,要求是能处理点击事件

js代码

(function($) {
	//Main Method
	$.fn.reportprogress = function(val,_handler, maxVal) {
		var handler = _handler;
		
		var max = 100;
		if (maxVal)
			max = maxVal;
		return this.each(function() {
					
					var div = $(this);
					var innerdiv = div.find(".progress");

					/*如果最先在div中不存在两个单独的我们需要的div,就把我们需要的单独的div新建起来*/
					if (innerdiv.length != 1) {
						innerdiv = $("<div class='progress'></div>");
						div.append("<div class='text'>&nbsp;</div>");
						$("<span id='progress-text' class='text'>&nbsp;</span>").css("width",
								div.width()).appendTo(innerdiv);
						div.append(innerdiv);
					}
					/*设置那两个新增div的属性*/
					var width = Math.round(val / max * 100);
					innerdiv.css("width", width/100*160 + "px");
					div.find(".text").html(width + " %");
					
					div.unbind("click");
					div.click(fun);
					
					div.unbind("mouseover");
					div.mouseover(function (){div.css("cursor","text");});
					
					div.unbind("mouseout");
					div.mouseout(function (){div.css("cursor","default");});
					
					function fun(event){
				//		alert("left:"+ div[0].offsetLeft+"width:"+div[0].offsetWidth);
				//		alert("click left:" + event.clientX);
						var width = Math.round((event.clientX - div.offset().left)/(div[0].offsetWidth-2)*100);
						if(width > 100){
							return;
						}
						innerdiv.css("width", width + "%");
						div.find(".text").html(width + " %");
						handler(width);
						//alert('here');
					}
				});
	};
})(jQuery);

 

css代码

#progressbar {
	BORDER-RIGHT: black 1px solid;
	BORDER-TOP: black 1px solid;
	BORDER-LEFT: black 1px solid;
	WIDTH: 160px;
	COLOR: black;
	BORDER-BOTTOM: black 1px solid;
	POSITION: relative;
	HEIGHT: 20px
}

#progressbar DIV.progress {
	OVERFLOW: hidden;
	WIDTH: 0px;
	POSITION: absolute;
	HEIGHT: 20px;
	BACKGROUND-COLOR: blue;
}

#progressbar DIV.progress .text {
	COLOR: white;
	POSITION: absolute;
	TEXT-ALIGN: center;
	FONT-SIZE: larger;
}

#progressbar DIV.text {
	WIDTH: 100%;
	POSITION: absolute;
	HEIGHT: 100%;
	TEXT-ALIGN: center;
	FONT-SIZE: larger;
}

 

使用方法

$("#progressbar").reportprogress(hasReplay, function(width) {
					// Util.debug("width = "+width);
					object.setCurrent(Math.round(width * total / 100));
				}, total);

 

分享到:
评论

相关推荐

    一个进度条,有源代码,可以跑起来

    在本案例中,"一个进度条,有源代码,可以跑起来"的标题表明我们将讨论一个实际运行的进度条示例,而提供的"AtlasProgressBarDemo"可能是这个示例项目的名称或主要文件。 进度条的实现通常涉及编程语言、库和框架的...

    c#弹出一个模式窗口来显示进度条

    以上代码示例展示了如何在C#中创建一个模态窗口,包含一个进度条,用于在后台执行任务时显示进度。请注意,实际应用中可能需要根据具体需求调整参数,如进度条样式、文本提示等。同时,对于更复杂的进度跟踪,可以...

    一个进度条控件,很好用的

    在实际应用中,要实现一个进度条控件,首先需要选择合适的库或框架。例如,在Windows应用程序中,可以使用WinAPI或.NET Framework中的ProgressBar控件;在Web开发中,可以利用HTML5的元素,或者JavaScript库如jQuery...

    css+js动态进度条的实现

    首先,我们需要创建一个进度条的基本结构,通常是一个包含两个子元素的HTML结构:一个是进度条容器,另一个是实际的进度指示器。例如: ```html &lt;div class="progress" style="width: 0%"&gt;&lt;/div&gt; ``` CSS样式...

    progressstring生成一个进度条为字符串

    `progressstring`是一个非常实用的库,它允许开发者生成一个进度条并将其表示为字符串。这个库非常适合那些需要在控制台上实时更新进度的应用场景,比如文件上传、下载或大数据处理等。 `progressstring`库的基本...

    提供一个进度条用户控件,可以自定义颜色和文字

    提供一个进度条用户控件,可以自定义进度条颜色和文字。

    java实现进度条

    根据给定的信息,本文将详细解释如何在Java中实现一个进度条,并且通过代码示例进行深入解析。本文主要分为两个部分:一是介绍基于Swing的进度条实现;二是给出一个不完整的示例代码,这部分内容无法直接形成知识点...

    PHP写一个进度条类

    接着,你可以创建一个循环或异步任务来模拟或追踪进度,每次任务进度更新时,调用类中的方法来更新进度条。最后,通过echo或print语句输出渲染后的进度条,确保它能在页面上正确显示。 总结来说,Kostas Theodorou...

    java写的进度条实例

    用java语言写的一个进度条的实例程序,很有帮助的!

    一个简单的VC进度条

    1. **在对话框资源中添加进度条控件**:在ResourceView中,打开对话框资源,然后从工具箱中拖拽一个进度条控件到对话框上,设置其ID,例如 IDC_PROGRESS1。 2. **在对话框类中添加成员变量**:在MultiThreadDlg.h中...

    DataGridView进度条 DataGridView进度条 C#

    在处理大量数据或者执行耗时操作时,为用户提供一个进度条是非常有用的,可以提高用户体验,显示数据加载或处理的状态。本文将详细介绍如何在C#中为`DataGridView`添加进度条功能。 首先,我们需要引入`ProgressBar...

    c#关于线程的一个应用(进度条)

    本文将深入探讨如何在C#中利用线程实现一个进度条功能,以及涉及的相关知识点。 首先,我们要理解多线程的概念。多线程是指在一个应用程序中同时执行两个或更多的独立线程。在C#中,可以使用`System.Threading`命名...

    解决echarts 一条柱状图显示两个值,类似进度条的问题

    这里的问题是需要让柱状图看起来像一个进度条,展示两个不同的数值,一个代表整体进度,另一个代表特定阶段的进度。通过ECharts的配置项,我们可以实现这种效果。下面将详细介绍如何解决这个问题。 首先,我们需要...

    在Winform中实现带进度条的DataGridView控件

    在Windows Forms(Winform)开发中,我们经常需要在用户界面中展示数据处理的状态,而进度条是一个很好的可视化工具。本教程将详细讲解如何在DataGridView控件中集成进度条功能,以便用户能直观地看到数据处理的进度...

    QML自定义进度条

    在本教程中,我们将深入探讨如何使用Quick2实现一个自定义的进度条,并通过动画控制进度条的移动。 首先,我们需要了解QML中的基础元素。`Rectangle`是最基本的图形元素,它可以作为其他组件的基础。`...

    html版进度条进度条

    在HTML代码中,`&lt;progress&gt;`元素定义了一个进度条,可以设置`max`属性表示最大值,`value`属性表示当前进度: ```html &lt;progress value="30" max="100"&gt;&lt;/progress&gt; ``` 上述代码将创建一个30%填充的进度条,满格...

    C# winform弹出式进度条

    在C# WinForm应用开发中,进度条是一个非常常见的组件,用于向用户显示某个操作的进度,提升用户体验。本文将详细讲解如何在WinForm中创建和使用弹出式进度条。 首先,我们需要了解C# WinForm的基本结构。WinForm是...

    带有文本的进度条

    在XML布局中,我们可以使用`&lt;ProgressBar&gt;`标签来创建一个进度条,并通过属性如`android:progress`设置初始进度,`android:max`设置最大进度。为了添加文本,我们可以使用`&lt;TextView&gt;`标签,并通过`android:text`...

    jquery 实现的进度条插件

    本篇文章将详细讲解如何利用jQuery实现一个进度条插件,以及其在程序进度显示和AJAX文件上传中的应用。 首先,进度条插件的核心功能是动态展示一个过程的完成度,它可以是一个下载、上传、渲染或其他耗时操作的状态...

    圆形进度条和带文字的进度条

    例如,我们可以创建一个自定义的进度条组件,该组件包含一个进度条元素和一个文本元素,通过CSS布局使它们协同工作。当进度更新时,不仅会改变进度条的宽度,还会同步更新文本内容。 三、源码解析 文件名“精度条”...

Global site tag (gtag.js) - Google Analytics