在jquerymobile中设置按钮css属性的动画
animating button css properties in jquerymobile
我正在尝试制作一个jquerymobile(v1.1.1)按钮的动画,就像它在闪烁一样。我已经走了这么远:
myButton = $('<div data-role="button" data-theme="reset" data-inline="true" >save</div>').appendTo(this.myNode);
setInterval(
function(){
myButton.animate ({
opacity: 0.5
}, 400, function(){
myButton.animate ({
opacity:1,
},400);
});},1000);
这里的问题是:
- 只有使用
data-theme="reset"
,我才能看到按钮外观的一些修改 - 不透明度似乎是唯一可以修改的属性
理想情况下,我希望能够为按钮的背景颜色或文本颜色设置动画,无论它可能有什么数据主题。有什么建议吗?
编辑:如果有帮助的话,jquerymobile为按钮生成的html如下:
<div data-role="button" data-theme="reset" data-corners="true" data-shadow="true"
data-iconshadow="true" data-wrapperels="span"
class="ui-btn ui-shadow ui-btn-corner-all ui-btn-up-reset">
<span class="ui-btn-inner ui-btn-corner-all">
<span class="ui-btn-text">save</span>
</span>
</div>
您可以使用CSS3转换(在大多数移动浏览器上都支持,http://caniuse.com/#feat=css-过渡)来创建颜色的动画。
JS-
$(function () {
//save current color so we can go between two colors
var currentColor = "red";
//set an interval
setInterval(function () {
var $this = $('a');
//swap colors (background and text)
if (currentColor === "red") {
currentColor = "blue";
$this.css({
backgroundColor : "blue",
color : "white"
});
} else {
currentColor = "red";
$this.css({
backgroundColor : "red",
color : "black"
});
}
}, 2500);
});
CSS-
.ui-page .ui-btn {
background-image : none;
-webkit-transition : background-color 2s linear, color 2s linear;
-moz-transition : background-color 2s linear, color 2s linear;
-ms-transition : background-color 2s linear, color 2s linear;
-o-transition : background-color 2s linear, color 2s linear;
transition : background-color 2s linear, color 2s linear;
}
下面是一个演示:http://jsfiddle.net/yLuCt/
上面的CSS从按钮中删除了渐变背景图像,因此将使用它们的单色背景(可以通过CSS设置动画)。然后transition
声明只定义在什么属性上使用什么类型的动画,以及动画应该持续多久。我已经将动画设置为稍微短于间隔,这样元素就不会一直设置动画。
转换文档:https://developer.mozilla.org/en-US/docs/CSS/Using_CSS_transitions?redirectlocale=en-美国&重定向段塞=CSS%2FCS_transitions
浏览器对转换的支持:http://caniuse.com/#feat=css-转换
相关文章:
- 对象获胜'如果qml中的其他地方定义了数字动画属性,则t设置动画
- 在jquerymobile中设置按钮css属性的动画
- Jquery scrollTop动画不工作"无法读取属性'top'无风
- 速度.js动画两个属性时持续时间不同
- jQuery动画背景大小属性
- 使用jQuery通过更改src属性来设置一个图像标签的动画
- 在动画开始之前更新animate属性
- css3动画使用html5数据属性
- 补间最大动画 无法分配给只读属性“_gsTweenID”
- 是否可以将动画与 jQuery 中的属性一起使用
- CSS3 关键帧动画是否比属性过渡更平滑?
- 可以将元素属性更改作为动画链的一部分
- 在同一持续时间内对两个属性进行动画处理
- 如何使用 jquery 对缩放 css 属性进行动画处理
- 具有不更新阴影的变形属性的动画缓冲区几何图形
- 将鼠标悬停在元素上会导致它进行动画处理,而只是更改其 CSS 属性
- 创建新属性 - JS / 边缘动画
- CSS3 动画 - 难以理解 CSS 属性
- 以角度方式在最小高度属性上动画化
- CSS 过渡:在“高度”样式属性的内联样式之间设置动画