jquery - 从 WebForm 代码隐藏中使用 JQuery 更改 CSS

标签 jquery css webforms juice-ui

我正在尝试从代码隐藏中更改 html 元素的 CSS,但它似乎没有受到影响。客户端有效。

我可以从代码隐藏调用其他客户端函数,但 JQuery CSS 似乎只能在客户端工作。

这是我调用的代码:

Page.ClientScript.RegisterStartupScript(Page.GetType(),
    "script",
    "$('.anibar .ui-progressbar-value').css('background-image', 'url(images/pbar-ani.png)');",
    true); 

不确定这是否会有所作为 - 我正在使用 JuiceUI 进度条 - 常规 div 似乎可以工作。

这是它的来源:

<div id="divDialog" style="display: none" class="basic-dialog" title="Uploading..." runat="server">
    <juice:ProgressBar ID="ProgressBar1" runat="server" Value="100" CssClass="anibar" />
    <p>
        <asp:Label ID="lblMessage" runat="server" Text="Please wait." />
    </p>
</div>

使用 CSS:

.anibar
{
    height: 1.6em;
}
.anibar .ui-progressbar-value
{
    background-image: url(Images/pbar-ani.gif);
}

TIA

最佳答案

首先,不需要使用 RegisterStartupScript 添加的脚本,因此您可以将其删除。

这里有一个使用 JuiceUI 创建动画进度条的功能示例:http://juiceui.com/controls/progressbar .这是页面上的第二个示例(奇怪的是,标记为示例 1)

看起来您刚刚在那里复制了代码,这是一个好的开始。您的下一步是验证这些 css 类是否在页面上的 标记中正确定义,或者它们是否在正确加载的 css 文件中。最后,验证 pbar-ani.gif 文件的路径相对于声明 css 类的位置是否正确。

编辑

根据您在下面的评论,这将是一个更可行的解决方案:

定义两个单独的 css 规则。

.anibar .ui-progressbar-value { background-image: url(Images/pbar-ani.gif); }
.anibar.loaded .ui-progressbar-value { background-image: url(Images/pbar-ani-other.gif); }

然后在任何需要的地方使用 jQuery 将“已加载”(您可以将其更改为任何内容)类添加到页面上的进度条。

$('.anibar').addClass('loaded');

另一种选择是删除“anibar”类,这将使控件的外观返回到原始状态。

$('.anibar').removeClass('anibar');

关于jquery - 从 WebForm 代码隐藏中使用 JQuery 更改 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10392332/

相关文章:

html - 用图像代替单选按钮

javascript - 如何使 $(document).ready() 函数全局可用?

jquery - 使用 icheck 选择所有复选框

html - 如何在 CSS 中使一个元素的高度适应另一个元素的高度

c# - C# 中的 PayPal IPN 监听器

c# - 网址不是有效的虚拟路径

jquery - 仅当鼠标沿垂直方向移动时才触发 mouseleave 事件

jquery - 使用同位素过滤列出标签

html - 为什么 z-index 不起作用?

css - 悬停时在过渡下划线,同时避免环绕文本