about _jQuery + Flex 改变图片
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:editor 阅读 275
功能终于告一段落了,实现了预期的功能。遇到了一个小麻烦,js会把某些变量(如果你是通过对象的方式传递的,将在传递之后丢失类型信息,后面*号部分)代码如下:functioninit(){if(swfo

功能终于告一段落了,实现了预期的功能。

遇到了一个小麻烦,js 会把某些变量( 如果你是通过对象的方式传递的,将在传递之后丢失类型信息 ,后面*号部分)

代码如下:

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;
}

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2