Неправильное положение imgareaselect плагин в загрузочном модальном окне
у меня проблема с плагином imgAreaSelect в Bootstrap. Я установил parent в инициализации imgAreaSelect, чтобы предотвратить перемещение области прокрутки:
thumb.imgAreaSelect({
handles: true,
aspectRatio: '1:1',
fadeSpeed: 300,
parent: "#thumbBox"
})
и это мой html:
<div class="modal-body">
<div class="row">
<div class="col-xs-12" style="font-weight:bold;">
Upload your picture and crop it.
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div id="thumbBox">
<img id="thumb" class="img-responsive" />
</div>
</div>
</div>
когда я пытаюсь выбрать область, ImgAreaSelect выбирает область вне изображения, но точки(я имею в виду x1,x2 и т. д.) Именно то, что я хочу (функциональность работает правильно, но в интерфейсе есть проблема). В небольших устройствах интерфейс ImgAreaSelect является nit, но в некоторых ситуация это испортить ! Я много искал, но не нашел ничего полезного. Как я могу решить эту проблему ?
обновление : Я решил это сам... Обратитесь к этой ссылке : github
мы должны удалить эти строки из кода :
/* Also check if any of the ancestor elements has fixed position */
if ($p.css('position') == 'fixed')
position = 'fixed';
и мы должны расположить относительно родительского поля, которое мы инициализировали сами (родитель: "#thumbBox").
6 ответов
была такая же проблема. решение:
parent:$('.modal-content')
вам нужно установить модальное содержимое в качестве родительского не контейнера изображения.
существует несколько сценариев начальной загрузки.css может повлиять на ваш imgareaselect. Для меня настройка box-sizing:content-box на изображении исправила мою проблему.
<img id="cartPhoto" class="cartImageThumb" style="box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;">
Я предпочитаю перезаписывать встроенный css против изменения начальной загрузки.css файл, потому что те Чан это может повлиять на всю систему.
Если у вас возникли проблемы с Bootstrap.css влияет на ваш код, комментирует разделы bootstrap.css, пока вы не найдете, какой стиль влияет на вас.
Я имею в виду Родительский div изображения , который вы хотите использовать область изображения, выберите на нем, должно быть положение относительно .
<div id="thumbBox" style="position:relative;">
<img id="thumb" class="img-responsive" />
</div>
и мы должны удалить эти строки из jQuery.imageareaselect.js:
/* Also check if any of the ancestor elements has fixed position */
if ($p.css('position') == 'fixed')
position = 'fixed';
HTML:
<div><img id="cropimage" /></div>
JQUERY:
$(function () {
$('#cropimage').imgAreaSelect({ handles: true, parent: "cropimage", maxWidth: 200, maxHeight: 200, aspectRatio: '4:3' });
});
устранение:
используйте опцию "parent", чтобы исправить imgAreaSelect для родительского div/окна.
люди, которые имеют проблемы с этим в сочетании с Bootstrap 2
перейти к загрузке.css и прокомментируйте следующую строку
img {
width: auto;
height: auto;
/* max-width: 100%; DISABLE FOR IMGAREASELECT */
vertical-align: middle;
border: 0;
-ms-interpolation-mode: bicubic;
}
у меня была та же проблема. Я искал решение в этой теме, пробуя все варианты. Но, когда я прочитал документацию, я нашел это 2 свойства:
http://odyniec.net/projects/imgareaselect/usage.html
imageHeight - True height of the image (if scaled with the CSS width and height properties)
imageWidth - True width of the image (if scaled with the CSS width and height properties)
таким образом, нет необходимости изменять какой-либо код js или css. Единственное, что нужно сделать, это установить эти 2 свойства с реальным размером изображения.
что-то вроде этого:
var image = $("#image");
image.imgAreaSelect({
imageHeight: image[0].naturalHeight,
imageWidth: image[0].naturalWidth
});