jQuery:jCrop 'setSelect' 根本没有设置?

Posted

技术标签:

【中文标题】jQuery:jCrop \'setSelect\' 根本没有设置?【英文标题】:jQuery: jCrop 'setSelect' doesn't set at all?jQuery:jCrop 'setSelect' 根本没有设置? 【发布时间】:2016-04-22 10:40:13 【问题描述】:

我在我的网络应用程序中使用jCrop 插件。但是,我正在尝试 pre-select 图像上的一个区域,但这根本不起作用,并且没有预先选择任何区域。

这是我的代码:

$('.position').live('click', function()

var img = $('.selected').attr('data-image');

//create var
var jscrop_api;

//set instance to our var
$('#target').Jcrop(
      // start off with jcrop-light class
      bgOpacity: 0.5,
      bgColor: 'black',
      addClass: 'jcrop-dark',
       boxWidth: 750, 
       boxHeight: 750,
       bgFade:     true,
      setSelect: [ 60, 70, 540, 330 ]
, function ()  
jcrop_api = this;

);

//change image for instance
jcrop_api.setImage(img);

);

如您所见,我正在使用setImage(); 函数。所以,我不确定问题是否是因为这个?

或者,是否有任何 z-index 问题?如果 z-index 完全适用于setSelect

有人可以就这个问题提出建议吗?

编辑:

好的,我刚刚发现了一些没有意义但对这里的人来说可能有意义的东西。

如果我删除jcrop_api.setImage(img); 并在我的jCrop 函数中添加setImage: img,。它将在图像上添加预选区域,但所选图像 (img) 不会更新或出现在裁剪区域中!

有什么建议吗?

【问题讨论】:

您使用的是哪个 Jquery 版本?浏览器控制台有错误吗? @ShekharPankaj,我正在使用jquery-1.8.3.min.js,不,控制台中根本没有错误。 @ShekharPankaj,一切都在我的代码中运行,我什至可以使用鼠标选择一个区域。但它不会在页面加载时预先选择图像区域。我以为setSelect: 就是为了这个目的? 【参考方案1】:

我不确定我是否可以回答我自己的问题,但这对我有用:

$( document ).ready(function() 
   jcrop_api.setSelect([ ($('#target').attr('width') / 2) - 10, 
                       ($('#target').attr('height') / 2) - 10, 
                       ($('#target').attr('width') / 2) + 10, 
                       ($('#target').attr('height') / 2) + 10 
                     ]);
);

我希望它对我的情况有所帮助。

【讨论】:

以上是关于jQuery:jCrop 'setSelect' 根本没有设置?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Jcrop 'setSelect' 选项指定自定义值?

Jcrop setSelect 错误的值

Jquery Jcrop - 从所有作物中获取(和设置)所有坐标

JCrop 使用 set select 选项时插件损坏

使用 jcrop 和 java 裁剪图像

无法用鼠标拖动 jcrop 选择