我在应用程序中有一个完整的jQuery UI副本,所以无论我是从CDN加载还是本地加载都没关系,我所知道的是它已经加载了.(因为如果我们从CDN加载我们唯一的选择是monkeypatch实时版本,是吗?)
我看来:https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.progressbar.js,this.min遗憾的是不是一个可设置的选项(this.options.max相反).我需要的this.min是-1在我的情况(是的,应用广泛,我们已经在内部对团队讨论这一点,我们了解了jQuery决定的原因,我们只是需要它,否则),所以我唯一的选择似乎是猴补丁原型或维护我自己的插件.我也看到他们现在正在使用"widget"架构来加载jQuery UI对象.
在这个特定的应用程序中,我的脚本大致加载如下:
/javascripts/lib/jquery.min.js
/javascripts/lib/jquery-ui.min.js
...
/javascripts/company.utils.js
/javascripts/company.helpers.js
...
page level includes of javascript libraries
...
page level javascript
Run Code Online (Sandbox Code Playgroud)
所以我想进入company.utils.js并定义一个像这样的monkeypatch:
$.ui.progressbar.prototype.min = -1;
Run Code Online (Sandbox Code Playgroud)
但是,我很好奇这是否是monkeypatch这个对象的正确方法.很确定它是,但我想我会问更广泛的StackOverflow社区,并为未来的搜索者提供可转发的东西.
我在html表格单元格中有一个进度条.它似乎扩展到表格单元格的宽度,但我想明确指定进度条的高度.
是否可以指定jQuery进度条的高度?
$(this).progressbar({
value: parseInt($(this).attr("rel"))
});
Run Code Online (Sandbox Code Playgroud) 这可能是关于jQuery UI和Javascript的一个非常简单的问题,但我仍然感觉我的方式通过这些语法.每当我的C#(ASP.NET)程序到达不同函数中的某个点时,我都会尝试更新jQuery进度条.我这样做了吗?我可以在我的页面上看到空的进度条,但我无法更新它的进度.
这是我的脚本:
<script type="text/javascript">
$(document).ready(function() {
$("#progressbar").progressbar({ value: 0 });
});
function updateProgress(number) {
if (number < 100) {
$("#progressbar").progressbar("value", number);
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
以下是我的一些脚本引用:
<link href="Styles/tomcat.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="colorbox.css" />
<script src="Scripts/jquery-1.7.2.js" type="text/javascript"></script>
<script src="Scripts/jquery-ui-1.8.21.custom.js" type="text/javascript"></script>
<script type="text/javascript" src="Scripts/jquery.colorbox.js"></script>
<link href="Content/themes/base/jquery.ui.progressbar.css" rel="stylesheet" type="text/css" />
<link href="Content/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery.ui.core.js" type="text/javascript"></script>
<link href="Scripts/jquery-ui-1.8.21.custom.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery.ui.progressbar.js" type="text/javascript"></script>
<link href="Scripts/ui.all.css" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)
这里是我尝试通过C#函数使用updateProgress()函数的地方.我试图将"10%"发送到进度条,但我的调试器错误,并说没有定义updateProgress().
ScriptManager.RegisterStartupScript(this, this.GetType(), "temp", "<script language='javascript'>UpdateProgress(10);</script>", false);
Run Code Online (Sandbox Code Playgroud)
编辑:我添加了以下布尔值来绕过页面刷新和刷新我的进度条.
var runOnce …Run Code Online (Sandbox Code Playgroud)