ior*_*ori 10 html javascript css jquery twitter-bootstrap
我想将加载动画放在输入框内的同一行,右边.
我试过了 :
<span>
<input id="searchbox" placeholder="Enter Catalog # " type="text" />
<img style="float:right;" id='loading' width="100px" src="http://rpg.drivethrustuff.com/shared_images/ajax-loader.gif"/>
</span>
Run Code Online (Sandbox Code Playgroud)
我明白了:
我无法在输入框中显示它.:(
Tej*_*oft 31
您也可以在CSS中将其作为背景图像.只需创建一个CSS类并在加载数据时应用.完成Ajax调用后,从文本输入框中删除"加载"CSS类.
.loading {
background-color: #ffffff;
background-image: url("http://loadinggif.com/images/image-selection/3.gif");
background-size: 25px 25px;
background-position:right center;
background-repeat: no-repeat;
}
Run Code Online (Sandbox Code Playgroud)
你可以在这里查看:http://jsfiddle.net/tejsoft/7pzgtevv/4/
我同意@Sam,因为它可能是元素的背景,你必须切换的所有内容都是一个类.如果你设置如下:
input {
box-sizing: border-box;
border: 1px solid #ccc;
height: 30px;
padding: 10px;
}
input.loading {
background: url(http://www.xiconeditor.com/image/icons/loading.gif) no-repeat right center;
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以在进行ajax调用时切换类:
$(document).on('blur', 'input', function(e) {
var $t = $(e.currentTarget);
$t.addClass('loading');
$.ajax({
url: $t.data('ajax'),
success: function(data) {
//dostuff
$t.removeClass('loading');
}
});
});
Run Code Online (Sandbox Code Playgroud)
在我看来,这将是最简单,最有效的方式.如果你想进一步看,这是一个小提琴
尝试摆弄元素的绝对定位。
小提琴
img {
position: absolute;
left: 112px;
top: -22px;
}
Run Code Online (Sandbox Code Playgroud)
https://jsfiddle.net/kmbxawdd/2/
此外,您可以将包含元素的位置设置为相对位置,这意味着您可以直接根据这些维度而不是文档设置样式。
归档时间: |
|
查看次数: |
38400 次 |
最近记录: |