【问题标题】:Completely rotate and randomize all DOM elements完全旋转和随机化所有 DOM 元素
【发布时间】:2014-06-27 18:55:17
【问题描述】:

我有一个“有趣”的客户,一个画家,他想让用户在他的网站上循环。

他们希望在他们的网站上添加一个假的用户名和密码表单,这会非常时髦,让用户感到困惑。这种形式没有意义,他只是为了好玩。

它不应该使页面完全空白,否则它看起来会无意中损坏。他希望让它看起来故意坏了。

我希望让 DOM 元素融化/掉到页面底部,像飓风一样旋转,或者只是一些滑稽而格格不入的东西。

我不确定是否存在已经可以执行上述任何操作的库,因此我首先将网站上的所有元素(DOM 中的所有元素)随机旋转并重新对齐到随机绝对位置并随机旋转。

jQuery( function($)
{
    jQuery( 'input[type="submit"]' ).on( 'click', function(e)
    {
        e.preventDefault();

        jQuery( "*" ).each(function()
        {
            rotateX = Math.floor((Math.random() * 360) + 1);
            rotateY = Math.floor((Math.random() * 360) + 1);
            rotateZ = Math.floor((Math.random() * 360) + 1);
            positionX = Math.floor((Math.random() * (window.innerWidth/2) + 1);
            positionY = Math.floor((Math.random() * (window.innerHeight/2) + 1);

            if (
                $(this).context.tagName != 'HTML' &&
                $(this).context.tagName != 'BODY' &&
                $(this).context.tagName != 'HEAD'
            )
            $(this).css({
                transform: "rotate3d("+rotateX+","+rotateY+","+rotateZ+")",
                position: "absolute",
                top: positionY,
                right: positionX
            });
        });
    });
});

它工作正常,在JSBin 中不太好,但它让用户混淆它在做什么并且并不滑稽。

是否有人对如何减慢动画速度、我可以使用的更有趣的脚本或已经具有此类 DOM 随机化效果的库有任何建议?

【问题讨论】:

  • 迷惑用户是留住网站访问者的好方法。您的客户是纯粹的天才。
  • "放慢动画"目前没有动画
  • @xxbbcc 他很古怪,但众所周知。他需要一个网站来宣传他的展览,但想在网站上添加一些他的个性。
  • @adeneo,这正是我想要的,希望它是 MIT 许可的。谢谢。

标签: javascript html css animation random


【解决方案1】:

这样的 CSS 应该可以解决问题:

*{
    transition: all 2s;
    -webkit-transition: all 2s;
}

【讨论】:

    猜你喜欢
    • 2013-06-10
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    • 2015-02-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-18
    • 1970-01-01
    相关资源
    最近更新 更多