0

我有一个带有 jQ​​uery mobile 的链接按钮。我希望能够将其设置为不断按下或不按下。我试过这个代码按下:

$(this).css('background-color', '#e0e0e0');

这段代码未按下:

$(this).css('background-color', '#f6f6f6');

但是当悬停在未按下的按钮上时,它不再突出显示。所以我尝试了:

$(this).addClass('ui-button-active');

但是按钮变成蓝色,我想要深灰色。有什么建议么?

4

2 回答 2

0

你去过themeroller吗?在那里你可以尝试不同的风格。

添加自定义主题

自定义 jQuery Mobile 按钮的另一个好方法是添加自定义主题。

<a data-role="button" data-theme="my-site">Button</a>

这将使您能够更好地控制按钮的不同元素和状态。例如,您可以通过为与您的自定义主题名称关联的类编写代码(它们会自动添加到按钮)来定位 CSS 中按钮的不同状态:

.ui-btn-up-my-site { /* your code here */ }
.ui-btn-hover-my-site { /* your code here */ }
.ui-btn-down-my-site { /* your code here */ }

请记住,默认按钮是由边框、阴影,当然还有背景渐变组成的。除此之外,按钮内还有其他由框架自动生成的 HTML 元素。根据您想要自定义的具体内容,您可能需要针对按钮中的其他类(即 ui-icon、ui-btn-text、ui-btn-inner 等)。

否则我可以推荐你这个网站

http://appcropolis.com/blog/advanced-customization-jquery-mobile-buttons/

于 2014-07-02T13:06:55.770 回答
0

jQuery Mobile 1.4.2 CSS中,您可以看到正常/悬停/活动状态(针对每个主题)的按钮样式,以及更改按钮颜色的活动样式(在您的情况下为蓝色)。

要模拟“持续按下”按钮,您必须基于按钮类为每个主题(a和)添加一个类,并覆盖背景颜色:b:active

.button-pressed-a { background-color: #e8e8e8 !important; }
.button-pressed-b { background-color: #404040 !important; }

然后,在您的脚本中,您可以使用以下命令切换“按下”状态:

$("#button").toggleClass('button-pressed-a');
于 2014-07-02T14:18:09.383 回答