聚合物纸波纹
Polymer paper ripple
本文关键字:聚合物 更新时间:2023-09-26
我想改变一个元素的颜色,当一个按钮被按下。我希望当按钮被按下并且颜色发生变化时,在该元素中触发纸张涟漪效应。
我该怎么做呢?
目标元素:<paper-toolbar class="abc">
<paper-icon-button icon="menu" paper-drawer-toggle></paper-icon-button>
<div flex class="indent title">Heading</div>
</paper-toolbar>
触发元素:
<paper-button class="def background-blue"></paper-button>
<paper-button class="def background-red"></paper-button>
Javascript: $(".def").click(function(){
$(".abc").css("background-color", $(this).css("background-color"));
});
而不是直接在paper-toolbar
上操纵样式,更多的元素方法是在paper-toolbar
旁边添加paper-ripple
元素,并在paper-button
s上调用mousedown
/mouseup
时手动调用downAction
/upAction
。
<paper-header-panel class="fit">
<paper-toolbar class="toolbar">
<paper-icon-button icon="menu" paper-drawer-toggle></paper-icon-button>
<div flex class="indent title">Heading</div>
<paper-ripple id="ripple" center></paper-ripple>
</paper-toolbar>
<div>
<paper-button class="def background-blue"raised on-mousedown="_onMousedown" on-mouseup="_onMouseup">Go blue</paper-button>
<paper-button class="def background-red" raised on-mousedown="_onMousedown" on-mouseup="_onMouseup">Go red</paper-button>
</div>
</paper-header-panel>
注意paper-ripple
的背景色为color
。
_assignColor: function(e) {
var button = Polymer.dom(e).localTarget;
var ripple = this.$.ripple;
$(ripple).css("color", $(button).css("background-color"));
// or without jQuery
//var buttonStyle = getComputedStyle(button, null);
//ripple.style.color = buttonStyle.backgroundColor;
},
_onMousedown: function (e) {
this._assignColor(e);
this.$.ripple.downAction({x: e.x, y: e.y});
},
_onMouseup: function (e) {
this._assignColor(e);
this.$.ripple.upAction();
}
看看这个活塞
我不完全确定您在这里要做什么,但是Polymer为您处理了大部分繁重的工作。如果你只是想样式的涟漪效果的颜色,文档建议使用选择器:
#my-button::shadow paper-ripple {
color: blue;
}
如果您想更永久地更改按钮的颜色,那么toggles
属性可能会有所帮助。(Google的演示在这里)
<paper-button toggles>button text</paper-button>
css: #my-button[active] {
background-color: red;
}
虽然如果你想保持它的颜色,你必须设置按钮忽略进一步的点击事件,所以它保持其active
属性
相关文章:
- 用于搜索的聚合物嵌套绑定
- 聚合物0.5.5:核心列表中的条件模板和/或模板动态参考
- Rubaxa可与聚合物进行排序/拖放不起作用,具体取决于显示器:
- 如何在模板聚合物中使用元素函数
- 聚合物dom重复问题
- 聚合物是一个框架而不是一个库.如何模块化地使用web组件
- 聚合物铁形式验证至少选中一个复选框
- 玻璃鱼服务器和聚合物
- 聚合物:在不同的视图模型中多次使用元素
- 聚合物-dom重复的起始指数
- 聚合物绑定条件属性和求值属性
- 如何动态创建聚合物元素
- AngularJS+IE 11+聚合物=ng模型未更新
- 如何使用javascript独立地为聚合物自定义元素的每个实例的lightdom设置样式
- 镀铬延长件内部的聚合物纸按钮不起作用
- 造型:主机的聚合物元素与Javascript
- 在Firefox上使用聚合物的javascript依赖关系的HTML导入困难;Safari
- yeoman generator聚合物的web组件测试失败
- 聚合物+流星,在火焰#每个循环中,无法将对象传递到聚合物网组件
- 聚合物-如何从<a>标签