【问题标题】:ASP.NET - How can I change the position of a background image when a button is clicked?ASP.NET - 单击按钮时如何更改背景图像的位置?
【发布时间】:2010-08-24 09:21:43
【问题描述】:
我有一个标准的 asp 按钮,点击它会触发:
protected void btnDealItem_Click(object sender, EventArgs e)
{
divMyDiv.Style.Add("background-position", "70px 0");
}
问题是,当单击按钮时,背景不会向右移动 70 像素。
这是解决这个问题的正确方法还是语法问题?
【问题讨论】:
标签:
asp.net
css
background-position
【解决方案1】:
您可以使用 JQuery 在客户端执行此操作:http://jquery.com/
我从您的代码中假设您不想对按钮的单击事件执行任何其他操作。 return false; 行阻止按钮返回页面。
$(document).ready(function () {
$("#" + <%= btnDealItem.ClientID %>).click(function() {
$(this).attr("style", "background-position:70px 0;" );
return false;
});
});
或
<style>
.backgroundshift {
background-position: 70px 0;
}
</style>
$(document).ready(function () {
$("#" + <%= btnDealItem.ClientID %>).click(function() {
$(this).addClass("backgroundshift");
return false;
});
});
【解决方案2】:
问题是样式是在单击按钮后在服务器端定义的。
简化的场景是这样的:
- 服务器首次呈现页面。
- 用户点击按钮。
- 服务器调用 button_click 事件。
- 服务器呈现页面。
- 用户可以看到背景图片位置发生变化的按钮。
如果您想在单击按钮后立即实现更改,请通过 java 脚本使用客户端脚本。