http://jsfiddle.net/fFs4B/调整大小上点击返回原来的位置
这是推动我逼疯了。我想要点击任何div
展开到容器大小,然后缩小到规模。最后一部分让我尖叫亵渎。帮帮我?
var margLeft = '0%';
var margTop = '0%';
JS:
$(document).ready(function() {
$('.container div').click(function() {
if ($(this).hasClass('wide')) {
margLeft = '0%';
margTop = '0%';
var clickedElem = $(this);
clickedElem.removeClass('wide');
deflateThis(clickedElem);
}
else {
var clickedElem = $(this);
inflateThis(clickedElem);
}
});
});
function inflateThis(clickedElem) {
clickedElem.siblings().fadeOut(500, function() {
$('p').append(clickedElem.css('left'));
if (clickedElem.css('left') !== '0%') {
margLeft = '-50%';
}
if (clickedElem.css('top') !== '0%') {
margTop = '-50%';
}
clickedElem.animate({
'left': '0',
'top': '0',
'width': '100%',
'height': '100%'
}, function() {
clickedElem.addClass('wide');
});
});
}
function deflateThis(clickedElem) {
if (margLeft == '0%') {
margLeft = '0%';
}
else {
margLeft = '50%';
}
if (margTop == '0%') {
margTop = '0%';
}
else {
margTop = '50%';
}
clickedElem.animate({
'left': margLeft,
'top': margTop,
'width': '50%',
'height': '50%'
}, function() {
clickedElem.siblings().fadeIn(500);
});
}
尝试通过'data-'属性或类来保持原始位置的标签,以便知道是否应该重新定位到底部/右侧与顶部/左侧。 –
当您获取当前的“左”或“顶”值时,它们以像素而不是百分比报告。 – Pointy