【发布时间】:2016-08-03 15:18:40
【问题描述】:
我正在开发一个响应式的图像查看器,并选择使用 Smooth Zoom Pan 插件来获得所需的平移/缩放功能。
我有 2 个主面板,查看器容器和一个控件容器,它们使用 Bootstrap 3 网格系统并排放置。
控件容器需要是可折叠的(很好),以允许查看者伸展以填满屏幕。为了做到这一点,我使用了 jQuery 动画并为父容器设置了宽度,这可以正常工作。
我想知道的是,如何使平滑缩放平移查看器与父容器宽度匹配?这是我目前拥有的,但是当查看器调整大小时,我失去了平移/缩放功能。
HTML:
<div class="container-fluid main-container">
<div class="row">
<div class="col-md-9">
<div class="viewer-container">
<div class="viewer-content">
<img src="/images/site/your_image.jpg" border="0" id="yourImageID" />
</div>
</div>
</div>
<div class="col-md-3">
<div class="controls-content">
<h2>Currently viewing:</h2>
<p class="time">12:00</p>
<p class="date">Thursday 19th July 2016</p>
<div id="viewerCalendar"></div>
<a class="btn primary btn-block"><span class="icon-spinner11"></span>Get latest images</a>
<a class="btn primary btn-block"><span class="icon-lock"></span>Login</a>
</div>
</div>
<div class="close-tab">
<a class="btn primary tab" id="close-controls">close</a>
</div>
</div>
</div>
</div>
JAVASCRIPT:
jQuery(function($){
$('#close-controls').on('click', function() {
$(this).toggleClass("closed");
var controlsContent = $('.controls-content');
var viewerContainer = $('.viewer-container');
if (controlsContent.is(':visible')) {
controlsContent.slideToggle('slow', function () {
viewerContainer.parent().css('width', '100%');
viewerContainer.animate({
width:'100%'
}, "slow", function () {
$('#yourImageID').smoothZoom('resize', {
width: '100%'
});
});
});
} else {
viewerContainer.animate({
width: '75%'
}, "slow", function () {
viewerContainer.parent().css('width','75%');
viewerContainer.css('width','100%');
controlsContent.slideToggle('slow');
$('#yourImageID').smoothZoom('resize', {
width: '100%'
});
});
}
});
});
注意:我是在这里提问的新手,所以如果您需要更多信息来帮助我,请在下面发表评论,我会尽力为您提供所需的信息。
【问题讨论】:
标签: javascript jquery responsive