Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从jQuery到AngularJS的材料设计涟漪_Javascript_Jquery_Css_Angularjs_Angularjs Directive - Fatal编程技术网

Javascript 从jQuery到AngularJS的材料设计涟漪

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.

我有一些CSS中材料设计涟漪效应的简单代码,只需在每个元素上应用
.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中有一个错误的顺序。如果你还想要小提琴,很高兴知道这一点。。谢谢。:)