项目中需要一个进度条,要求是能处理点击事件
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'> </div>");
$("<span id='progress-text' class='text'> </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#中创建一个模态窗口,包含一个进度条,用于在后台执行任务时显示进度。请注意,实际应用中可能需要根据具体需求调整参数,如进度条样式、文本提示等。同时,对于更复杂的进度跟踪,可以...
在实际应用中,要实现一个进度条控件,首先需要选择合适的库或框架。例如,在Windows应用程序中,可以使用WinAPI或.NET Framework中的ProgressBar控件;在Web开发中,可以利用HTML5的元素,或者JavaScript库如jQuery...
首先,我们需要创建一个进度条的基本结构,通常是一个包含两个子元素的HTML结构:一个是进度条容器,另一个是实际的进度指示器。例如: ```html <div class="progress" style="width: 0%"></div> ``` CSS样式...
`progressstring`是一个非常实用的库,它允许开发者生成一个进度条并将其表示为字符串。这个库非常适合那些需要在控制台上实时更新进度的应用场景,比如文件上传、下载或大数据处理等。 `progressstring`库的基本...
提供一个进度条用户控件,可以自定义进度条颜色和文字。
根据给定的信息,本文将详细解释如何在Java中实现一个进度条,并且通过代码示例进行深入解析。本文主要分为两个部分:一是介绍基于Swing的进度条实现;二是给出一个不完整的示例代码,这部分内容无法直接形成知识点...
接着,你可以创建一个循环或异步任务来模拟或追踪进度,每次任务进度更新时,调用类中的方法来更新进度条。最后,通过echo或print语句输出渲染后的进度条,确保它能在页面上正确显示。 总结来说,Kostas Theodorou...
用java语言写的一个进度条的实例程序,很有帮助的!
1. **在对话框资源中添加进度条控件**:在ResourceView中,打开对话框资源,然后从工具箱中拖拽一个进度条控件到对话框上,设置其ID,例如 IDC_PROGRESS1。 2. **在对话框类中添加成员变量**:在MultiThreadDlg.h中...
在处理大量数据或者执行耗时操作时,为用户提供一个进度条是非常有用的,可以提高用户体验,显示数据加载或处理的状态。本文将详细介绍如何在C#中为`DataGridView`添加进度条功能。 首先,我们需要引入`ProgressBar...
本文将深入探讨如何在C#中利用线程实现一个进度条功能,以及涉及的相关知识点。 首先,我们要理解多线程的概念。多线程是指在一个应用程序中同时执行两个或更多的独立线程。在C#中,可以使用`System.Threading`命名...
这里的问题是需要让柱状图看起来像一个进度条,展示两个不同的数值,一个代表整体进度,另一个代表特定阶段的进度。通过ECharts的配置项,我们可以实现这种效果。下面将详细介绍如何解决这个问题。 首先,我们需要...
在Windows Forms(Winform)开发中,我们经常需要在用户界面中展示数据处理的状态,而进度条是一个很好的可视化工具。本教程将详细讲解如何在DataGridView控件中集成进度条功能,以便用户能直观地看到数据处理的进度...
在本教程中,我们将深入探讨如何使用Quick2实现一个自定义的进度条,并通过动画控制进度条的移动。 首先,我们需要了解QML中的基础元素。`Rectangle`是最基本的图形元素,它可以作为其他组件的基础。`...
在HTML代码中,`<progress>`元素定义了一个进度条,可以设置`max`属性表示最大值,`value`属性表示当前进度: ```html <progress value="30" max="100"></progress> ``` 上述代码将创建一个30%填充的进度条,满格...
在C# WinForm应用开发中,进度条是一个非常常见的组件,用于向用户显示某个操作的进度,提升用户体验。本文将详细讲解如何在WinForm中创建和使用弹出式进度条。 首先,我们需要了解C# WinForm的基本结构。WinForm是...
在XML布局中,我们可以使用`<ProgressBar>`标签来创建一个进度条,并通过属性如`android:progress`设置初始进度,`android:max`设置最大进度。为了添加文本,我们可以使用`<TextView>`标签,并通过`android:text`...
本篇文章将详细讲解如何利用jQuery实现一个进度条插件,以及其在程序进度显示和AJAX文件上传中的应用。 首先,进度条插件的核心功能是动态展示一个过程的完成度,它可以是一个下载、上传、渲染或其他耗时操作的状态...
例如,我们可以创建一个自定义的进度条组件,该组件包含一个进度条元素和一个文本元素,通过CSS布局使它们协同工作。当进度更新时,不仅会改变进度条的宽度,还会同步更新文本内容。 三、源码解析 文件名“精度条”...