jQuery + Flex 通过拖拽方式动态改变图片的代码

  代码如下:

  

复制代码 代码如下:

  function init() {

  if(swfobject.hasFlashPlayerVersion("10")){

  var flashvars = {};

  flashvars.xmlPath = "coffee";

  flashvars.name = "coffee";

  var params = {};

  params.quality = "high";

  params.wmode = "transparent";

  var attributes = {};

  attributes.id = "swf_editer";

  swfobject.embedSWF("../img/swf/PhotoEditer2.swf","editarea","670","690","10.3"

  ,"../img/swf/playerProductInstall.swf",flashvars,params,attributes);

  $( ".draggable" ).draggable({ revert: true, helper: "clone" });

  $("body").bind("mousemove",getListener);

  }

  }

  var srcName = "";

  var currentX = 0;

  var currentY = 0;

  var currentTop = 0;

  function setImgLocal(srcName) {

  bindDroppable();

  this.srcName = srcName ;

  }

  function changeSwfImg() {

  if(srcName === "" || srcName === null){

  return ;

  }

  var swf = swfobject.getObjectById("swf_editer");

  var swfCoord = getSwfCoord();

  var dom = {};

  dom.name = srcName;

  dom.changeFlg = 0;

  //*********************************

  var tmp1 = swfCoord.domY - 0;

  tmp2 = swfCoord.domHeight - 220;

  //*********************************

  if((currentTop + currentY) > (swfCoord.domY + 100)

  && (currentTop + currentY) < (tmp1 + tmp2))

  {

  dom.changeFlg = currentX - swfCoord.domX < swfCoord.domWidth/2 ? 1 : 2;

  }

  swf.FlexManager(dom);

  }

  function bindDroppable() {

  $("#swf_editer").droppable({

  accept: "#dv_draggables img",

  drop: function(event, ui) {

  changeSwfImg();

  }

  });

  }

  function getListener(event) {

  currentX = event.clientX;

  currentY = event.clientY;

  currentTop = document.documentElement.scrollTop ;

  }

  function getSwfCoord() {

  var swf = swfobject.getObjectById("swf_editer");

  var dom = {};

  dom.domX = 0 , dom.domY = 0;

  dom.domWidth = swf.width;

  dom.domHeight = swf.height;

  while(swf.offsetParent) {

  dom.domX += swf.offsetLeft;

  dom.domY += swf.offsetTop;

  swf = swf.offsetParent;

  }

  return dom;

  }