使用droparea js在一个页面中创建一个以上的上传图像
Create more than 1 upload image in 1 page with droparea js
我使用的是droparea js。我有4个上传。问题是,如果我想在其中一个上传菜单中上传图像,它会更改所有4个上传菜单。
<div class="col-md-12">
<div class="droparea" >
<img src="http://placehold.it/200" class="file_preview" >
</div>
<input type="file" name="file" id="file" accept="image/*" style="display: none;" >
<div class="col-md-12">
<div class="droparea" >
<img src="http://placehold.it/200" class="file_preview" >
</div>
<input type="file" name="file" id="file" accept="image/*" style="display: none;" >
<div class="col-md-12">
<div class="droparea" >
<img src="http://placehold.it/200" class="file_preview" >
</div>
<input type="file" name="file" id="file" accept="image/*" style="display: none;" >
<div class="col-md-12">
<div class="droparea" >
<img src="http://placehold.it/200" class="file_preview" >
</div>
<input type="file" name="file" id="file" accept="image/*" style="display: none;" >
<script src="js/droparea.js"></script>
<script>
$(document).ready(function(){
$('.droparea').droparea({
url: 'server.php',
success: function( server_return, name, uploaded_file )
{
$('.droparea').after( $('<p />').html( 'File sent: <b>' + name + '</b>' ) );
var oFReader = new FileReader();
oFReader.readAsDataURL( uploaded_file );
oFReader.onload = function (oFREvent)
{
$( '.file_preview' ).animate({opacity: 0}, 'slow', function(){
// change the image source
$(this)
.attr('src', oFREvent.target.result).animate({opacity: 1}, 'fast')
.on('load', function()
{
$('.statusbar').css({
width: $('.droparea').outerWidth(),
height: $('.droparea').outerHeight()
});
});
// remove the alert block whenever it exists.
$('.droparea').find('.statusbar.alert-block').fadeOut('slow', function(){ $(this).remove(); });
});
};
}
});
});
</script>
我想把它放在jsfiddle上,但我无法归档droparea插件的在线js和css。
如果我第一次在第二个菜单或第一个菜单以外的任何人上传,结果将显示在第一个菜单中。所以我从id="file-preview"
变为class="file-preview"
,它显示给所有人。你能教我如何在1到另一个之间上传不同的图像吗?
我不熟悉droparea,但您可能需要为每个创建一个单独的实例,而不是单个的.droparea()实例,所以类似于;
$('.droparea').each(function(){
$(this).droparea()
});
你可能需要这个:
$('.droparea').each(function(){
$(this).droparea({
url: 'server.php',
success: function( server_return, name, uploaded_file )
{
$('.droparea').after( $('<p />').html( 'File sent: <b>' + name + '</b>' ) );
var oFReader = new FileReader();
oFReader.readAsDataURL( uploaded_file );
oFReader.onload = function (oFREvent)
{
$( '.file_preview' ).animate({opacity: 0}, 'slow', function(){
// change the image source
$(this)
.attr('src', oFREvent.target.result).animate({opacity: 1}, 'fast')
.on('load', function()
{
$('.statusbar').css({
width: $('.droparea').outerWidth(),
height: $('.droparea').outerHeight()
});
});
// remove the alert block whenever it exists.
$('.droparea').find('.statusbar.alert-block').fadeOut('slow', function(){ $(this).remove(); });
});
};
}
})
})
相关文章:
- 在表单中创建一个黑名单过滤器以避免某些单词
- 如何在jquery中为object键创建一个工作变量以避免额外的代码
- 在Chrome扩展程序图标中创建一个切换开关,以打开/关闭JavaScript
- 创建一个假DOM以在JavaScript测试套件中进行测试
- 正在创建一个事件以更改鼠标悬停时的图片
- 如何创建一个可以调用的函数,以使用JQplot显示多个条形图
- 创建一个模态窗口以使用 AngularJS 加载数据
- 创建一个浏览器以在 ASP.NET 的网页中加载网站
- 如何创建一个 http 拦截器以在“响应”中返回错误
- 为 SlickGrid 创建一个变更集以保存数据
- 创建一个指令以使 ng-keyup 成为备用搜索初始值设定项
- 尝试创建一个简单的 JavaScript 库,其中包含下一个和上一个按钮以循环回开头
- 在 JavaScript 中创建一个以字符串参数命名的变量
- 如何创建一个以模型为参数的ajax成功方法
- 使用JavascriptExecutor selenium创建一个以链接为背景的图像
- 能够创建一个以字符串为键的映射,但当引用该键时;意外的数字错误"
- 如何创建一个以指令本身的名称接受参数的Angular指令
- Javascript-创建一个以30步为增量的for循环
- 如何在asp.net中的DataViewGrid行上创建一个以行索引为参数的onclick处理程序
- 创建一个以变量作为字段的JSON对象