簡體   English   中英

是否有一種優雅的方法來隨機化jscroll中的div位置?

[英]Is there an elegant way to randomize div position within jscroll?

我在隨機,不重疊的位置布置了一系列div。

當用戶到達頁面底部時,我使用jscroll添加更多div。 但是,這些新的div也應該隨機放置和絕對放置。

什么是有效的方法? 我在(1)將隨機位置javascript應用於新元素和(2)提供合理的非延遲體驗方面都遇到麻煩。

當前的基本代碼:如果我隨機添加無窮滾動點,那么如何將新的點集隨機放置?

<head>
    <title>desert</title>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script src="https://cdn.jsdelivr.net/jquery.jscroll/2.2.4/jquery.jscroll.min.js"></script>
</head>

<body>
    <div class="word">
        .
    </div>
    <div class="word">
        .
    </div>
    <div class="word">
        .
    </div>

    <a href="extrastuff.html"></a>

    </div>

    <script>
        ** Randomly assigns .word elements a non - overlapping position **
    </script>
    <script type="text/javascript">
        $(document).ready(function() {
            $('#desert').jscroll({
                padding: 2000,
                loadingHtml: ''
            });
        });
    </script>
</body>

</html>

對於沒有經驗的人,您應該將隨機div分組。 每個組都是一個占整個屏幕高度的div,因此就像在不可見的頁面上滾動一樣,每次前一個組達到一定滾動量時,您都只需一個一個地創建組。

對於位置,組必須位於“ position:relative”中,因此內部的點可以位於“ position:absolute”中,並自動引用父組。

通過首先計算屏幕高度,並使用相對位置創建div,然后在循環內應用隨機位置,您可以僅使用jquery字符串生成每個頁面:

var screenHeight = (calculate screen height here);

var group = '<div class="page" style="height:'+screenHeight+'px;width:100%; position:relative;">';
for(var i=0;i<4;i++)
{

    group += '<div class="word" style="top:'+Math.random()*100+'%;left:'+Math.random()*100+';position:absolute;" >.</div>';
}
group += '</div>';

body.append(group);

這是適用於每個特定滾動量的基本代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM