手机端头像本地预览功能
2016-05-27 12:05
309 查看
html部分
<form action="{:U('User/userface')}" id="userface">
<input type="file" name="face" style="opacity: 0;" onchange="previewImage(this)" id="filr"/>
</form>
<div class="personalCenter_head_portrait" id="preview">
<img id="imghead" class="personalCenter_portrait" src="{$user.face}">
</div>
js部分
function previewImage(file)
{
var div = document.getElementById('preview')
if (file.files && file.files[0])
{
div.innerHTML ='<img id=imghead>';
var img = document.getElementById('imghead');
var reader = new FileReader();
reader.onload = function(evt){img.src = evt.target.result;};
reader.readAsDataURL(file.files[0]);
}
else //兼容IEIE
{
var sFilter='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="';
file.select();
var src = document.selection.createRange().text;
div.innerHTML = '<img id=imghead>';
var img = document.getElementById('imghead');
img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;
var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);
status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height);
div.innerHTML = "<div id=divhead style='width:"+rect.width+"px;height:"+rect.height+"px;margin-top:"+rect.top+"px;"+sFilter+src+"\"'></div>";
}
}
function clacImgZoomParam( maxWidth, maxHeight, width, height ){
var param = {top:0, left:0, width:width, height:height};
if( width>maxWidth || height>maxHeight )
{
rateWidth = width / maxWidth;
rateHeight = height / maxHeight;
if( rateWidth > rateHeight )
{
param.width = maxWidth;
param.height = Math.round(height / rateWidth);
}else
{
param.width = Math.round(width / rateHeight);
param.height = maxHeight;
}
}
param.left = Math.round((maxWidth - param.width) / 2);
param.top = Math.round((maxHeight - param.height) / 2);
return param;
}
$(document).ready(function (){
$('.personalCenter_quit').click(function() {
$.post("./logout", function(e) {
if (e.status == 1){
alert(e['info']);
window.location.href="/Mobile/User/login";
}
},'json');
});
});
<form action="{:U('User/userface')}" id="userface">
<input type="file" name="face" style="opacity: 0;" onchange="previewImage(this)" id="filr"/>
</form>
<div class="personalCenter_head_portrait" id="preview">
<img id="imghead" class="personalCenter_portrait" src="{$user.face}">
</div>
js部分
function previewImage(file)
{
var div = document.getElementById('preview')
if (file.files && file.files[0])
{
div.innerHTML ='<img id=imghead>';
var img = document.getElementById('imghead');
var reader = new FileReader();
reader.onload = function(evt){img.src = evt.target.result;};
reader.readAsDataURL(file.files[0]);
}
else //兼容IEIE
{
var sFilter='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="';
file.select();
var src = document.selection.createRange().text;
div.innerHTML = '<img id=imghead>';
var img = document.getElementById('imghead');
img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;
var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);
status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height);
div.innerHTML = "<div id=divhead style='width:"+rect.width+"px;height:"+rect.height+"px;margin-top:"+rect.top+"px;"+sFilter+src+"\"'></div>";
}
}
function clacImgZoomParam( maxWidth, maxHeight, width, height ){
var param = {top:0, left:0, width:width, height:height};
if( width>maxWidth || height>maxHeight )
{
rateWidth = width / maxWidth;
rateHeight = height / maxHeight;
if( rateWidth > rateHeight )
{
param.width = maxWidth;
param.height = Math.round(height / rateWidth);
}else
{
param.width = Math.round(width / rateHeight);
param.height = maxHeight;
}
}
param.left = Math.round((maxWidth - param.width) / 2);
param.top = Math.round((maxHeight - param.height) / 2);
return param;
}
$(document).ready(function (){
$('.personalCenter_quit').click(function() {
$.post("./logout", function(e) {
if (e.status == 1){
alert(e['info']);
window.location.href="/Mobile/User/login";
}
},'json');
});
});
相关文章推荐
- Androidstudio中jar包重复或jar包里的类重复问题
- Dialog的相关监听事件
- android 游戏 碰撞检测
- 谷歌取得巨大胜利,美联邦法庭裁定 Android 对 Java API 属于“合理使用”
- 关于StartCoroutine的简单线程使用
- 检查app是否是系统rom集成的
- iOS中--NSArray调用方法详解 (李洪强)
- 微信分享的各种坑!!!
- ios avfoundation 合并音频到一个视频文件 avurlassettrack
- Android : 线程的结束,挂起和恢复(下)
- iOS 自定义二维码条形码扫描识别
- android SD卡目录下创建、复制文件夹以及文件
- iOS程序中的内存分配 栈区堆区全局区
- Android : 线程的结束,挂起和恢复(上)
- Android开发之Activity startActivityForResult()方法详解
- iOS 对afnetworking简单封装
- iOS版本控制工具(SVN,GIT,SourceTree)
- android 游戏 让人物动起来
- Unity中使用暴风魔镜蓝牙手柄
- 【Unity3D】常用设计模式