Javascript 从jQuery到AngularJS的材料设计涟漪
我有一些CSS中材料设计涟漪效应的简单代码,只需在每个元素上应用Javascript 从jQuery到AngularJS的材料设计涟漪,javascript,jquery,css,angularjs,angularjs-directive,Javascript,Jquery,Css,Angularjs,Angularjs Directive,我有一些CSS中材料设计涟漪效应的简单代码,只需在每个元素上应用.ripple类(但它必须有宽度和高度),就可以在每个元素上使用。代码如下: (函数(窗口,$){ $(函数(){ $('.ripple')。在('click')上,函数(事件){ event.preventDefault(); 变量$div=$(''), btnOffset=$(this).offset(), xPos=event.pageX-btnOffset.left, yPos=event.pageY-btnOffset.
.ripple
类(但它必须有宽度和高度),就可以在每个元素上使用。代码如下:
(函数(窗口,$){
$(函数(){
$('.ripple')。在('click')上,函数(事件){
event.preventDefault();
变量$div=$(''),
btnOffset=$(this).offset(),
xPos=event.pageX-btnOffset.left,
yPos=event.pageY-btnOffset.top;
$div.addClass(“连锁反应”);
变量$ripple=$(“.ripple效应”);
$ripple.css(“height”,$(this.height());
$ripple.css(“宽度”,$(this.height());
$div.css({
顶部:yPos-($ripple.height()/2),
左:xPos-($ripple.width()/2),
背景:$(此).data(“波纹颜色”)
})
。附于($(本));
setTimeout(函数(){
$div.remove();
}, 2000);
});
});
})(窗口,jQuery)代码>
正文{
文本对齐:居中;
}
钮扣{
位置:相对位置;
边界:无;
大纲:无;
光标:指针;
背景:#89669b;
颜色:白色;
填充:18px 60px;
边界半径:2px;
字体大小:22px;
}
.晶圆厂{
边界半径:50%;
保证金:0;
填充:20px;
}
.材料{
位置:相对位置;
颜色:白色;
保证金:20px自动;
高度:400px;
宽度:500px;
背景#f45673;
}
.涟漪{
溢出:隐藏;
}
.连锁反应{
位置:绝对位置;
边界半径:50%;
宽度:50px;
高度:50px;
背景:白色;
动画:涟漪动画;
}
@关键帧涟漪动画{
从{
变换:比例(1);
不透明度:0.4;
}
到{
变换:标度(100);
不透明度:0;
}
}
材料设计波纹
材质设计按钮
只需将类ripple添加到任何内容中,并使用“data ripple color”属性设置ripple颜色
登录
登录
您可以在指令中编写此代码,基本上这将为您执行DOM操作。只要找到该指令,它就会开始工作class=“ripple”
指令
app.directive('ripple', function($timeout) {
return {
restrict: 'C',
link: function(scope, element, attrs) {
element.on('click', function(event) {
event.preventDefault();
var $div = angular.element('<div></div>'),
btnOffset = $(this).offset(),
xPos = event.pageX - btnOffset.left,
yPos = event.pageY - btnOffset.top;
$div.addClass('ripple-effect');
var $ripple = angular.element(".ripple-effect");
$ripple.css("height", $(this).height());
$ripple.css("width", $(this).height());
$div.css({
top: yPos - ($ripple.height() / 2),
left: xPos - ($ripple.width() / 2),
background: $(this).data("ripple-color")
})
.appendTo($(this));
$timeout(function() {
$div.remove();
}, 2000);
});
}
}
});
app.directive('ripple',函数($timeout){
返回{
限制:“C”,
链接:函数(范围、元素、属性){
元素上('click',函数(事件){
event.preventDefault();
变量$div=角度元素(“”),
btnOffset=$(this).offset(),
xPos=event.pageX-btnOffset.left,
yPos=event.pageY-btnOffset.top;
$div.addClass(“连锁反应”);
var$ripple=angular.element(“涟漪效应”);
$ripple.css(“height”,$(this.height());
$ripple.css(“宽度”,$(this.height());
$div.css({
顶部:yPos-($ripple.height()/2),
左:xPos-($ripple.width()/2),
背景:$(此).data(“波纹颜色”)
})
。附于($(本));
$timeout(函数(){
$div.remove();
}, 2000);
});
}
}
});
您可以在指令中编写此代码,基本上这将为您执行DOM操作。只要找到该指令,它就会开始工作class=“ripple”
指令
app.directive('ripple', function($timeout) {
return {
restrict: 'C',
link: function(scope, element, attrs) {
element.on('click', function(event) {
event.preventDefault();
var $div = angular.element('<div></div>'),
btnOffset = $(this).offset(),
xPos = event.pageX - btnOffset.left,
yPos = event.pageY - btnOffset.top;
$div.addClass('ripple-effect');
var $ripple = angular.element(".ripple-effect");
$ripple.css("height", $(this).height());
$ripple.css("width", $(this).height());
$div.css({
top: yPos - ($ripple.height() / 2),
left: xPos - ($ripple.width() / 2),
background: $(this).data("ripple-color")
})
.appendTo($(this));
$timeout(function() {
$div.remove();
}, 2000);
});
}
}
});
app.directive('ripple',函数($timeout){
返回{
限制:“C”,
链接:函数(范围、元素、属性){
元素上('click',函数(事件){
event.preventDefault();
变量$div=角度元素(“”),
btnOffset=$(this).offset(),
xPos=event.pageX-btnOffset.left,
yPos=event.pageY-btnOffset.top;
$div.addClass(“连锁反应”);
var$ripple=angular.element(“涟漪效应”);
$ripple.css(“height”,$(this.height());
$ripple.css(“宽度”,$(this.height());
$div.css({
顶部:yPos-($ripple.height()/2),
左:xPos-($ripple.width()/2),
背景:$(此).data(“波纹颜色”)
})
。附于($(本));
$timeout(函数(){
$div.remove();
}, 2000);
});
}
}
});
实际上,它是有效的。我的html中有一个错误的顺序。如果你还想要小提琴,很高兴知道这一点。。谢谢。:)事实上,它很管用。我的html中有一个错误的顺序。如果你还想要小提琴,很高兴知道这一点。。谢谢。:)