谷歌+ / Google Plus 照片堆叠,他们是如何做到的?

发布于 2024-12-10 18:25:00 字数 1615 浏览 0 评论 0原文

我正在尝试开发一个像 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花落人断肠 2024-12-17 18:25:01

我不确定,但您可能会使用 $().animate 而不是 .css()

I'm not sure, but you probably would use $().animate instead of .css()

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文