var hover_effect;
$(document).on("hover", ".card", function (evt) {
windowWidth = $(window).width();
var id = $(this).attr('id');
var offset = $(this).offset();
var pos = offset.left;
if (windowWidth - pos < 350) {
if (evt.type === "mouseenter") {
hover_effect = setTimeout(function(){
$('#'+id).css('z-index', '9').animate({
marginLeft: '-120',
width: '360px',
height: '510px'
}, 300);
} , 700);
}
else { // mouseleave
clearTimeout(hover_effect);
$('#'+id).animate({
marginLeft: '0',
width: '240px',
height: '340px'
}, 300, function() {
$('#'+id).css('z-index', '1')
})
}
}
else if (pos < 260) {
if (evt.type === "mouseenter") {
hover_effect = setTimeout(function(){
$('#'+id).css('z-index', '9').animate({
width: '360px',
height: '510px'
}, 300);
} , 700);
}
else { // mouseleave
clearTimeout(hover_effect);
$('#'+id).animate({
width: '240px',
height: '340px'
}, 300, function() {
$('#'+id).css('z-index', '1')
})
}
}
else{
if (evt.type === "mouseenter") {
hover_effect = setTimeout(function(){
$('#'+id).css('z-index', '9').animate({
marginLeft: '-60',
width: '360px',
height: '510px'
}, 300);
} , 700);
}
else { // mouseleave
clearTimeout(hover_effect);
$('#'+id).animate({
marginLeft: '0',
width: '240px',
height: '340px'
}, 300, function() {
$('#'+id).css('z-index', '1')
})
}
}
})
這將檢查圖像是否位於頁面中間,或右側或左側,然後相應地將其吹起。 .on
只能返回一個動作,因此需要if else
來返回每個動作。我還使用了.css
上的回調函數,以便圖像在完全收縮之前不會「平坦」。隨時檢查出來的http://magic.cardbinder.com/使用jquery調整圖像大小 - 延遲並移動
感謝戈什!
我在問題中更新我的原始代碼以顯示實際答案。 Ghosh幾乎是正確的('setTimeout'絕對正確)。在工作中,我不得不做一些簡單的事情。 – Dudo