87,993
社区成员
发帖
与我相关
我的任务
分享
<div id="imageArea" class="hide">
<div id="demo-portrait">
<table style="-moz-user-select:none;">
<tr>
<td class="t1" colspan="3"></td>
</tr>
<tr>
<td class="t2"></td>
<td class="t3"></td>
<td class="t2"></td>
</tr>
<tr>
<td class="t1" colspan="3"></td>
</tr>
</table>
<img id="img1" src="/Files/member/company/620_200906302351141AEJE.jpg" />
</div>
<table id="scrollBar">
<tr>
<td><a id="resize-s" href="javascript:void(0);"></a></td>
<td>
<span id="scroll-bar"><span id="block-img"></span></span>
</td>
<td><a id="resize-b" href="javascript:void(0);"></a></td>
</tr>
</table>
<input id="saveHeadImg" type="button" name="Submit2" value="保存" />
</div>function dragMemberImage() {
$("imageArea").removeClass("hide");
var img = $('demo-portrait').getElement("img");
// resize new upload image
var oldImgWidth = img.getWidth();
var oldImgHeight = img.getHeight();
var newImgHeight = 337;
var newImgWidth = (337*oldImgWidth)/oldImgHeight;
$("demo-portrait").setStyle("cursor","pointer");
var currL = 0;
var currImgL = 0;
var currT = 0;
var currImgT = 0;
var imgLeft;
var imgTop;
var middleX = 168;
var middleY = 168;
$("demo-portrait").addEvent("mousedown",function(e) {
currL = e.page.x;
currT = e.page.y;
currImgL = parseInt(img.getStyle("left").substring(0,img.getStyle("left").indexOf("px")));
currImgT = parseInt(img.getStyle("top").substring(0,img.getStyle("top").indexOf("px")));;
$("demo-portrait").addEvent("mousemove",show);
$("demo-portrait").addEvent("mouseup",function() {
e.stopPropagation();
$("demo-portrait").removeEvent("mousemove",show);
});
});
var show = function(e) {
e.preventDefault();
var nowL = e.page.x;
var nowT = e.page.y;
var realL = nowL - currL;
var realT = nowT - currT;
var nowLeft = currImgL + realL;
var nowTop = currImgT + realT;
img.setStyles({
left:nowLeft,
top:nowTop
});
imgLeft = img.getLeft();
imgTop = img.getTop();
middleX = img.getStyle("left").toInt() + img.getWidth().toInt()/2;
middleY = img.getStyle("top").toInt() + img.getHeight().toInt()/2;
}
var flag = 0;
$("scrollBar").setStyle("display","block");
var scaleX = newImgWidth/70;
var scaleY = newImgHeight/70;
var mySlider = new Slider($('scroll-bar'), $('block-img'),{
steps:283,
wheel:1,
onChange:function(step) {
flag++;
if(step<5) {
step = 5;
}
var currW = step*scaleX;
var currH = step*scaleY;
// get position from the image's middle point
img.setStyles({
width:currW,
height:currH
});
var posX = middleX - img.getWidth()/2;
var posY = middleY - currH/2;
if(flag<2) {
posX = 0;
posY = 0;
}
img.setStyles({
left:posX,
top:posY
});
}
}).set(100);
$("resize-s").addEvent("click",function() {
var currH;
var block_img_left = parseInt($("block-img").getStyle("left").substring(0,$("block-img").getStyle("left").indexOf("px")));
if(block_img_left>30) {
$("block-img").setStyle("left",block_img_left-26.6);
currH = resizePhoto(block_img_left-26.6);
} else {
$("block-img").setStyle("left",0);
currH = resizePhoto(0);
}
img.setStyles({
left:middleX - img.getWidth()/2,
top:middleY - currH/2
});
});
$("resize-b").addEvent("click",function() {
var currH;
var block_img_left = parseInt($("block-img").getStyle("left").substring(0,$("block-img").getStyle("left").indexOf("px")));
var photo_width = parseInt(img.getStyle("width").substring(0,img.getStyle("width").indexOf("px")));
var photo_height = parseInt(img.getStyle("height").substring(0,img.getStyle("height").indexOf("px")));
if(block_img_left<253) {
$("block-img").setStyle("left",block_img_left+26.5);
currH = resizePhoto(block_img_left+26.5);
} else {
$("block-img").setStyle("left",272);
currH = resizePhoto(272);
}
img.setStyles({
left:middleX - img.getWidth()/2,
top:middleY - currH/2
});
});
var resizePhoto = function(nowEventX) {
if(nowEventX<5) {
nowEventX = 5;
}
var currWidth = nowEventX*scaleX;
var currHeight = nowEventX*scaleY;
img.setStyles({
width:currWidth,
height:currHeight
});
return currHeight;
}
// save resize member's head image
$("saveHeadImg").addEvent("click",function() {
var memberImgURL = $("demo-portrait").getElement("img").get("src");
var memberImgWidth = $("demo-portrait").getElement("img").getWidth();
var memberImgHeight = $("demo-portrait").getElement("img").getHeight();
var memberImgX = $("demo-portrait").getElement("img").getStyle("left").toInt();
var memberImgY = $("demo-portrait").getElement("img").getStyle("top").toInt();
var blockX = 121;
var blockY = 118;
// the left/top of block relative to the member's image
var currX = blockX - memberImgX;
var currY = blockY - memberImgY;
// ajax
var req = new Request.JSON({
url:"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
method:"post",
data:{
imgW:memberImgWidth,
imgH:memberImgHeight,
relX:currX,
relY:currY,
src:memberImgURL
},
onSuccess:function(responseText) {
$("imageArea").addClass("hide");
//console.log(responseText);
$$(".head_pic").getElement("img").set("src",responseText.src);
}
}).send();
})
}