谷歌+ / Google Plus 照片堆叠,他们是如何做到的?
我正在尝试开发一个像 google+ 这样的相册照片堆栈, 我刚刚阅读了所有谈论这个“问题”的帖子......但没有什么......都是错的。 我正在使用 Chrome,在 google+ 中,我看到照片的整个运动......在其他示例中,我看不到这种效果,只能看到开始情况和结束情况。 我看到 google+ 在正文末尾附加了一个 div,其中包含页面中该 div 的相同图像,并将其(具有绝对位置)放在现有的 div 上。 新的 div 会移动,而旧的则不会! 我重新创建了相同的情况,但效果不佳,我也可以看到开始和结束的情况。
这里的 html
<div class="cn">
<img src="media/images/david-guetta-will-i-am.jpg" alt="" />
<img src="media/images/david-guetta--nothing-but-the-beat-11704-cropped.jpg" alt="" />
<img src="media/images/Render_BMW_Serie3_F30_01.jpg" alt="" />
<img src="media/images/david-guetta-will-i-am.jpg" alt="" />
</div>
我不知道为什么 google+ 放置了第一张图片的副本。
这里的JS
<script type="text/javascript">
$('.cn:first').mouseenter(
function()
{
$('body').append('<div class="cn cn2" style="z-index:5; position:absolute;">'+$(this).parent().html()+'</div>');
$('.cn2').mouseenter(function(){
$('.cn2 img:nth-child(1)').css({'-webkit-transform':'rotate(-6deg) translate(-40px,0) scale(1.05)'});
$('.cn2 img:nth-child(2)').css({'-webkit-transform':'rotate(0deg) translate(0,0) scale(1.05)'});
$('.cn2 img:nth-child(3)').css({'-webkit-transform':'rotate(6deg) translate(40px,0) scale(1.05)'});
});
$('.cn2').mouseleave(function()
{
$('.cn2 img:nth-child(1),.cn2 img:nth-child(2),.cn2 img:nth-child(3)').css({'-webkit-transform':'none'});
});
});
</script>
代码在jdFiddle中运行: http://jsfiddle.net/eUVNH/22/
i'm trying to develop an album photo stack like google+,
i just read all post that talk about this "problem" ... but nothing..all wrong.
I'm using Chrome and, in google+ ,i see the whole movement of the photos... in the others examples i can't see this effect, only the begin situation and the end situation.
I see that google+ append a div at the end of body, that contain the same images of the div in the page, and put it(with absolute position) over the exist div.
The new div make the movement while the old one don't!
i recreate the same situation , but don't work good, also i can see the begin and end situation.
here the html
<div class="cn">
<img src="media/images/david-guetta-will-i-am.jpg" alt="" />
<img src="media/images/david-guetta--nothing-but-the-beat-11704-cropped.jpg" alt="" />
<img src="media/images/Render_BMW_Serie3_F30_01.jpg" alt="" />
<img src="media/images/david-guetta-will-i-am.jpg" alt="" />
</div>
i don't know why google+ put a copy of the first image.
and JS
<script type="text/javascript">
$('.cn:first').mouseenter(
function()
{
$('body').append('<div class="cn cn2" style="z-index:5; position:absolute;">'+$(this).parent().html()+'</div>');
$('.cn2').mouseenter(function(){
$('.cn2 img:nth-child(1)').css({'-webkit-transform':'rotate(-6deg) translate(-40px,0) scale(1.05)'});
$('.cn2 img:nth-child(2)').css({'-webkit-transform':'rotate(0deg) translate(0,0) scale(1.05)'});
$('.cn2 img:nth-child(3)').css({'-webkit-transform':'rotate(6deg) translate(40px,0) scale(1.05)'});
});
$('.cn2').mouseleave(function()
{
$('.cn2 img:nth-child(1),.cn2 img:nth-child(2),.cn2 img:nth-child(3)').css({'-webkit-transform':'none'});
});
});
</script>
here the code run in jdFiddle: http://jsfiddle.net/eUVNH/22/
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不确定,但您可能会使用
$().animate
而不是.css()
I'm not sure, but you probably would use
$().animate
instead of.css()