在 jQuery 中用自定义 div 替换动画宽度
Replace animation width with custom div in jQuery
我制作了一个简单的 onlick 动画输入。我也做了一些基本样式,但我不知道如何替换 {width:'500px'}
宽度自定义 div。在这种情况下:.customwidth
.
这是我的完整代码:
HTML
<div class="search">
<input type="text" placeholder="Fast search" />
<i class="fa fa-search"></i>
</div>
CSS
.search { float:left; margin:10px 0px 0 10px; height:31px; border:1px solid rgba(0, 0, 0, 0.10); border-radius:15px; }
.search i { float:right; margin:6px 10px; }
.search input { float:left; margin:2px 0px 0 10px; width:70px; height:25px; border:none; outline:none; }
.customwidth { width:500px; }
JS
$(".search").click(function () {
$('.search input').animate({ width:'500px'}, { duration:200, specialEasing: { width: 'linear' } });
});
我想从 css 文件更改动画宽度,因此,出于这个原因,我需要替换 width:'500px'
宽度 .customwidth
class.
这可能吗?
JS & CSS & HTML
$(".search").click(function () {
$('.search input').addClass('customwidth');
});
.search { float:left; margin:10px 0px 0 10px; height:31px; border:1px solid rgba(0, 0, 0, 0.10); border-radius:15px; }
.search i { float:right; margin:6px 10px; }
.search input { float:left; margin:2px 0px 0 10px; width:70px; height:25px; border:none; outline:none; }
.customwidth { width:500px !important; }
#test{
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
transition: all 0.5s ease;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="search">
<input id="test" type="text" placeholder="Fast search" />
<i class="fa fa-search"></i>
</div>
就.addCLass('customwidth')
。
$(".search").click(function () {
$('.search input').addClass('customwidth');
});
然后在CSS中使用转换。我更改了 customwidth
选择器的特异性,因为您不必使用 !important。可能会把你搞得一团糟 运行.
.search .customwidth {
width:500px;
transition: width .2s ease;
}
您可以添加 div 和 customwidth
class 并读取其宽度以在动画中使用它。
$(function(){
$(".search").click(function () {
var $inspector = $("<div>").css('display', 'none').addClass('customwidth');
$("body").append($inspector);
var width = $inspector.css('width');
$('.search input').animate({width:width},{ duration:200, specialEasing: { width: 'linear' } });
});
});
我制作了一个简单的 onlick 动画输入。我也做了一些基本样式,但我不知道如何替换 {width:'500px'}
宽度自定义 div。在这种情况下:.customwidth
.
这是我的完整代码:
HTML
<div class="search">
<input type="text" placeholder="Fast search" />
<i class="fa fa-search"></i>
</div>
CSS
.search { float:left; margin:10px 0px 0 10px; height:31px; border:1px solid rgba(0, 0, 0, 0.10); border-radius:15px; }
.search i { float:right; margin:6px 10px; }
.search input { float:left; margin:2px 0px 0 10px; width:70px; height:25px; border:none; outline:none; }
.customwidth { width:500px; }
JS
$(".search").click(function () {
$('.search input').animate({ width:'500px'}, { duration:200, specialEasing: { width: 'linear' } });
});
我想从 css 文件更改动画宽度,因此,出于这个原因,我需要替换 width:'500px'
宽度 .customwidth
class.
这可能吗?
JS & CSS & HTML
$(".search").click(function () {
$('.search input').addClass('customwidth');
});
.search { float:left; margin:10px 0px 0 10px; height:31px; border:1px solid rgba(0, 0, 0, 0.10); border-radius:15px; }
.search i { float:right; margin:6px 10px; }
.search input { float:left; margin:2px 0px 0 10px; width:70px; height:25px; border:none; outline:none; }
.customwidth { width:500px !important; }
#test{
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
transition: all 0.5s ease;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="search">
<input id="test" type="text" placeholder="Fast search" />
<i class="fa fa-search"></i>
</div>
就.addCLass('customwidth')
。
$(".search").click(function () {
$('.search input').addClass('customwidth');
});
然后在CSS中使用转换。我更改了 customwidth
选择器的特异性,因为您不必使用 !important。可能会把你搞得一团糟 运行.
.search .customwidth {
width:500px;
transition: width .2s ease;
}
您可以添加 div 和 customwidth
class 并读取其宽度以在动画中使用它。
$(function(){
$(".search").click(function () {
var $inspector = $("<div>").css('display', 'none').addClass('customwidth');
$("body").append($inspector);
var width = $inspector.css('width');
$('.search input').animate({width:width},{ duration:200, specialEasing: { width: 'linear' } });
});
});