Discuz教程网

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

[复制链接]
authicon dly 发表于 2011-9-14 08:26:38 | 显示全部楼层 |阅读模式
代码如下:
  1. function init() {
  2. if(swfobject.hasFlashPlayerVersion("10")){
  3. var flashvars = {};
  4. flashvars.xmlPath = "coffee";
  5. flashvars.name = "coffee";
  6. var params = {};
  7. params.quality = "high";
  8. params.wmode = "transparent";
  9. var attributes = {};
  10. attributes.id = "swf_editer";
  11. swfobject.embedSWF("../img/swf/PhotoEditer2.swf","editarea","670","690","10.3"
  12. ,"../img/swf/playerProductInstall.swf",flashvars,params,attributes);
  13. $( ".draggable" ).draggable({ revert: true, helper: "clone" });
  14. $("body").bind("mousemove",getListener);
  15. }
  16. }
  17. var srcName = "";
  18. var currentX = 0;
  19. var currentY = 0;
  20. var currentTop = 0;
  21. function setImgLocal(srcName) {
  22. bindDroppable();
  23. this.srcName = srcName ;
  24. }
  25. function changeSwfImg() {
  26. if(srcName === "" || srcName === null){
  27. return ;
  28. }
  29. var swf = swfobject.getObjectById("swf_editer");
  30. var swfCoord = getSwfCoord();
  31. var dom = {};
  32. dom.name = srcName;
  33. dom.changeFlg = 0;
  34. //*********************************
  35. var tmp1 = swfCoord.domY - 0;
  36. tmp2 = swfCoord.domHeight - 220;
  37. //*********************************
  38. if((currentTop + currentY) > (swfCoord.domY + 100)
  39. && (currentTop + currentY) < (tmp1 + tmp2))
  40. {
  41. dom.changeFlg = currentX - swfCoord.domX < swfCoord.domWidth/2 ? 1 : 2;
  42. }
  43. swf.FlexManager(dom);
  44. }
  45. function bindDroppable() {
  46. $("#swf_editer").droppable({
  47. accept: "#dv_draggables img",
  48. drop: function(event, ui) {
  49. changeSwfImg();
  50. }
  51. });
  52. }
  53. function getListener(event) {
  54. currentX = event.clientX;
  55. currentY = event.clientY;
  56. currentTop = document.documentElement.scrollTop ;
  57. }
  58. function getSwfCoord() {
  59. var swf = swfobject.getObjectById("swf_editer");
  60. var dom = {};
  61. dom.domX = 0 , dom.domY = 0;
  62. dom.domWidth = swf.width;
  63. dom.domHeight = swf.height;
  64. while(swf.offsetParent) {
  65. dom.domX += swf.offsetLeft;
  66. dom.domY += swf.offsetTop;
  67. swf = swf.offsetParent;
  68. }
  69. return dom;
  70. }
复制代码



上一篇:基于jQuery的图片剪切插件
下一篇:JavaScript中去掉数组中的重复值的实现方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 20:38

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表