我寫了一個類似於函數的切換效果。當用戶單擊按鈕時,我的div會從右下角出現到頁面中心,當用戶再次單擊按鈕時,div將從頁面中心返回到右下角。有關使用jquery動畫功能調整div大小的問題
問題是div出現了我想要的方式,但沒有調整我想要的方式。請看我的腳本,並指導我缺少什麼。這裏是我JS提琴鏈接http://jsfiddle.net/tridip/6o1wv3yt/
$(document).ready(function() {
var flag = false;
$("#Button1").click(function() {
if ($("#UPSContainer").exists() == false) {
$('form').append('<div id="UPSContainer" class="hidden" style="background:red;display:none;position:absolute;height=0px;width=0px;"></div>');
}
if ($("#UPSContainer").hasClass("hidden")) {
$("#UPSContainer").css({ display: 'block' });
var xleft = ($(window).width() - $("#UPSContainer").width());
var xtop = ($(window).height() - $("#UPSContainer").height());
$("#UPSContainer").css({ left: xleft, top: xtop, opacity: 0 });
$("#UPSContainer").stop(true).animate({
'left': (($(window).width() - $("#UPSContainer").width())/2) + 'px',
'top': (($(window).height() - $("#UPSContainer").height())/2) + 'px',
'height': 350 + 'px',
'width': 500 + 'px',
'marginLeft': '-250px',
'marginTop': '-175px',
'opacity': '1'
}, { duration: 1000, queue: false, easing: 'easeOutQuart',
step: function (now, tween) {
if (tween.prop === 'width') {
if (now >= 50) {
//console.log('Width reached 50%');
if (!flag) {
flag = true;
$("body").append('Width reached 50%' + now);
}
}
}
},
complete: function() {
$("#UPSContainer").removeClass("hidden").addClass("Shown");
}
});
}
else if ($("#UPSContainer").hasClass("Shown")) {
var xleft = $(window).width();
var xtop = $(window).height();
$("#UPSContainer").stop(true).animate({
'left': $(window).width() + 'px',
'top': $(window).height() + 'px',
'height': 0 + 'px',
'width': 0 + 'px',
'opacity': '0'
}, { duration: 1000, queue: false, easing: 'easeOutQuart',
step: function (now, tween) {
if (tween.prop === 'width') {
if (now >= 50) {
//console.log('Width reached 50%');
if (!flag) {
flag = true;
$("body").append('Width reached 50%' + now);
}
}
}
},
complete: function() {
$("#UPSContainer").removeClass("Shown").addClass("hidden");
}
});
}
return false;
});
jQuery.fn.exists = function() { return this.length > 0; }
});
工作在這裏很好。你如何期望它完全調整大小? – Behrang 2014-11-25 14:46:36
我希望它出現的方式與它應該消失的方式一樣。當你點擊第二次按鈕時,你會注意到div沒有進入右下角。我想div應該去右下角。 – Thomas 2014-11-25 14:56:35
當div離開眼睛時,我想要這種效果。只是檢查此鏈接jsfiddle.net/p4e4psg4/5/ – Thomas 2014-11-25 15:19:52