我正在尝试使用此示例实现照片缩放效果:http://www.tympanus.net/Tutorials/PhotoZoomOutEffect/。 但是,我需要在页面加载之后使用此效果,而不是在悬停。 所以我将hover()更改为ready():
$(function() {
$('#container img').ready(
function(){
var $this = $(this);
$this.stop().animate({
'opacity':'1.0',
'height':'200px',
'top':'0px',
'left':'0px'
});
},
function(){
var $this = $(this);
$this.stop().animate({
'opacity':'0.5',
'height':'500px',
'top':'-66.5px',
'left':'-150px'
});
}
);
});
然后我在Chrome调试器中遇到了JS错误: 未捕获的TypeError:无法使用'in'运算符在undefined中搜索'display' 有人可以给我一个解决这个问题的提示吗?
提前致谢。
答案 0 :(得分:1)
如果你有不同尺寸的图像,你可以这样做
$(document).ready( function(){
img = $('#container img');
imageWidth = img.outerWidth();
imageHeight = img.outerHeight();
centerX = (200 - imageWidth) / 2;
centerY = (200 - imageHeight) /4;
img.css({'opacity': 0.5, 'top': centerY, 'left': centerX})
.animate({'opacity': 1,'height': '200px', 'top': 0, 'left': 0});
});
你需要在CSS中设置一些值:
#container {
width: 200px;
height: 200px;
overflow: hidden; /*important*/
}
#container img{
position: relative; /*important*/
}