Javascript 单击addClass时的jQuery缩放
我正在尝试获取Javascript 单击addClass时的jQuery缩放,javascript,jquery,css,Javascript,Jquery,Css,我正在尝试获取.post\u输入--单击时不将设置为比例。没有运气就尝试添加CSS转换 $(“.post\u输入-未设置”).hide(); $('.btn类')。单击(函数(){ $(此).toggleClass(“新”); $(this).find('i').toggleClass('fa-check-fa-pencil-alt'); $(“.post_uu输入--未设置”).addClass('animate').toggle(); }); .btn类{ 颜色:白色; 填充:30px;
.post\u输入--单击时不将设置为比例。没有运气就尝试添加CSS转换
$(“.post\u输入-未设置”).hide();
$('.btn类')。单击(函数(){
$(此).toggleClass(“新”);
$(this).find('i').toggleClass('fa-check-fa-pencil-alt');
$(“.post_uu输入--未设置”).addClass('animate').toggle();
});代码>
.btn类{
颜色:白色;
填充:30px;
背景:蓝色;
}
.新的{
背景颜色:绿色
}
.post\u输入--未设置{
变换:比例(0);
过渡:所有5s;
高度:50px;
宽度:50px;
边界半径:50%;
背景颜色:红色
}
.post\u输入--not-set.animate{
变换:比例(1);
}
您可以从js中删除$(“.post\u input--not set”).hide()
,并仅切换转换。这对你有用吗
$('.btn类')。单击(函数(){
$(此).toggleClass(“新”);
$(this).find('i').toggleClass('fa-check-fa-pencil-alt');
$(“.post_uu输入--未设置”).toggleClass('animate');
});代码>
.btn类{
颜色:白色;
填充:30px;
背景:蓝色;
}
.新的{
背景颜色:绿色
}
.post\u输入--未设置{
变换:比例(0);
转变:转变5s;
高度:50px;
宽度:50px;
边界半径:50%;
背景颜色:红色
}
.post\u输入--not-set.animate{
变换:比例(1);
}
您可以从js中删除$(“.post\u input--not set”).hide()
,并仅切换转换。这对你有用吗
$('.btn类')。单击(函数(){
$(此).toggleClass(“新”);
$(this).find('i').toggleClass('fa-check-fa-pencil-alt');
$(“.post_uu输入--未设置”).toggleClass('animate');
});代码>
.btn类{
颜色:白色;
填充:30px;
背景:蓝色;
}
.新的{
背景颜色:绿色
}
.post\u输入--未设置{
变换:比例(0);
转变:转变5s;
高度:50px;
宽度:50px;
边界半径:50%;
背景颜色:红色
}
.post\u输入--not-set.animate{
变换:比例(1);
}
如果元素最初消失,转换将不起作用。display:none
样式实际上删除了元素。因此,当您切换display
属性时,它们已经使用animate
类重新创建,并且没有任何更改可以设置动画
唯一(但错误的)方法是先显示元素,强制回流(强制浏览器在没有动画
类的情况下绘制它们),然后设置动画
类
正确的方法是
- 要始终显示元素(使用
可见性
或不透明度
隐藏它们),但这并不总是可能的,因为它们将在那里占据空间并接收事件
- 要在每次转换之前使用JS创建新元素并在转换之后销毁它们
- 或者使用JS来制作整个动画
如果元素最初消失,转换将不起作用。display:none
样式实际上删除了元素。因此,当您切换display
属性时,它们已经使用animate
类重新创建,并且没有任何更改可以设置动画
唯一(但错误的)方法是先显示元素,强制回流(强制浏览器在没有动画
类的情况下绘制它们),然后设置动画
类
正确的方法是
- 要始终显示元素(使用
可见性
或不透明度
隐藏它们),但这并不总是可能的,因为它们将在那里占据空间并接收事件
- 要在每次转换之前使用JS创建新元素并在转换之后销毁它们
- 或者使用JS来制作整个动画
有趣的讨论:
可能的解决办法:
$(“.post\u输入-未设置”).hide();
$('.btn类')。单击(函数(){
$(此).toggleClass(“新”);
$(this).find('i').toggleClass('fa-check-fa-pencil-alt');
$(“.post_uu输入--未设置”).addClass('animate').toggle();
if($(“.post\u input--not set”).css(“transform”)=“none”){
$(“.post_uuu输入-未设置”).css(“转换”、“缩放(0)”);
}否则{
$(“.post_uuu输入-未设置”).css(“转换”、“缩放(1)”);
}
});代码>
.btn类{
颜色:白色;
填充:30px;
背景:蓝色;
}
.新的{
背景颜色:绿色
}
.post\u输入--未设置{
变换:比例(0);
转变:转变5s;
高度:50px;
宽度:50px;
边界半径:50%;
背景颜色:红色
}
有趣的讨论:
可能的解决办法:
$(“.post\u输入-未设置”).hide();
$('.btn类')。单击(函数(){
$(此).toggleClass(“新”);
$(this).find('i').toggleClass('fa-check-fa-pencil-alt');
$(“.post_uu输入--未设置”).addClass('animate').toggle();
if($(“.post\u input--not set”).css(“transform”)=“none”){
$(“.post_uuu输入-未设置”).css(“转换”、“缩放(0)”);
}否则{
$(“.post_uuu输入-未设置”).css(“转换”、“缩放(1)”);
}
});代码>
.btn类{
颜色:白色;
填充:30px;
背景:蓝色;
}
.新的{
背景颜色:绿色
}
.post\u输入--未设置{
变换:比例(0);
转变:转变5s;
高度:50px;
宽度:50px;
边界半径:50%;
背景颜色:红色
}