2016-08-10 4 views
0

это то, что у меня есть на данный момент:JQuery panzoom панорамирование вопрос

<div id="container" style="width:400px;height:400px;overflow:hidden"> 
    <img id="panzoom" src="http://uploadpie.com/QBTlw"> 
</div> 

$(document).ready(function(){ 
    $("#panzoom").panzoom({ 
     increment: 0.1, 
     rangeStep: 0.1, 
     minScale: 1, 
     duration: 200, 
     exponential: true, 
     panOnlyWhenZoomed: false, 

     $zoomIn: $(".controls").find(".zoom-in"), 
     $zoomOut: $(".controls").find(".zoom-out"), 
     $zoomRange: $(".controls").find(".zoom-range"), 
     contain: 'automatic', 
     onPan : function() 
     { 


     } 
    }); 
}); 

https://jsfiddle.net/7yhjwLhf/6/

Если я перетащить изображение вниз изображение не «стоп» в верхней части контейнера. Я могу потянуть дальше. Трудно найти правильные слова, чтобы описать это.

Вот два скриншота:

http://uploadpie.com/Smez8

http://uploadpie.com/J2EAg

Для любой помощи я буду очень благодарен !!

ответ

0

Это потому, что ваш контейнер меньше 50% вашего изображения, поэтому функция «содержать» останавливается в центре, так как по умолчанию она уже передана по центру.

Увеличьте размер контейнера до 800px/800px, и он должен работать ближе к ожидаемому. Внесите корректировки размера в изображение и контейнер для достижения ожидаемых результатов сдерживания.

+0

Но мне нужна 100% ширина изображения. Таким образом, изображение заканчивается влево и вправо от окна браузера. Что-то вроде этого: https://jsfiddle.net/7yhjwLhf/10/ – MarkusHH

+0

https://jsfiddle.net/7yhjwLhf/12/ – Mike

+0

Хм, но теперь он не перетаскивается вверх и вниз. И не масштабируется. – MarkusHH

0

Если я понял, что вы пытаетесь достичь, это могли бы получить немного ближе к тому, что вы пытаетесь сделать:

(function() { 
    $('#panzoom').panzoom({ 
    startTransform: 'scale(5)', 
    increment: 0.1, 
    minScale: 1, 
    contain: 'invert' 
    }).panzoom('zoom'); 
})(); 

https://jsfiddle.net/ruc2y97r/

Я думаю, что содержит вариант вы» поиск - «инвертировать». Надеюсь, это поможет!

+0

Хорошо, но если высота маленькая, я не могу добраться до нижней части изображения. Посмотрите здесь https://jsfiddle.net/ruc2y97r/1/ – MarkusHH

+0

Я считаю, что это просто вызвано несоответствием пропорции вашего изображения, попробуйте это: https://jsfiddle.net/auaskm90/ - посмотрите, как я установите ширину и высоту контейнера в том же соотношении, что и исходное изображение ... отлично работает. – Giuseppe

+0

Да, мы сближаемся. Но изображение должно всегда иметь 100%. Поэтому, если я изменяю размер браузера или открываю браузер в 1000 х 500 пикселей, я не могу установить правильное соотношение. В этом случае я хочу, чтобы изображение отображалось вертикально по середине, и я могу перетащить его вверх и вниз. – MarkusHH

Смежные вопросы