2016-04-22 3 views
2

Я использую плагин jCrop в своем веб-приложении. Тем не менее, я пытаюсь сделать pre-select область на изображении, но это не работает вообще, и область не выбрана заранее.jQuery: jCrop 'setSelect' не установлен вообще?

Это мой код:

$('.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? IF-индекс распространяется на setSelect?

Не могли бы вы прокомментировать эту проблему?

EDIT:

Хорошо, я только что нашел что-то, что не имеет смысла, но может имеет смысл кому-то здесь.

Если я удалю jcrop_api.setImage(img); и добавьте setImage: img, внутри моей функции jCrop. он добавит предварительно выбранную область на изображение, но выбранное изображение (img) не обновляется или не появляется в области обрезки!

любые предложения?

+0

Какая версия JQuery вы используете? есть ли ошибка в консоли браузера? –

+0

@ShekharPankaj, я использую 'jquery-1.8.3.min.js' и нет, никакой ошибки в консоли вообще нет. – Jackson

+0

@ShekharPankaj, Все работает в моем коде, и я даже могу выбрать область с помощью мыши. Но он не предварительно выбирает область изображения при загрузке страницы. Я думал, что 'setSelect:' был для этой цели? – Jackson

ответ

0

Я не уверен, если я могу ответить на мой собственный вопрос, но это работает для меня:

$(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 
        ]); 
}); 

Я надеюсь, что это поможет кому-то в моей ситуации.