1

ブロガーの Web サイトに、ランダムな投稿に移動する JavaScript ボタンがあります。そのコードは以下のとおりです。このコードを変更して、ユーザーを次または前の投稿に移動させる方法はありますか?

<span class="ranlink" id="myLuckyPost"></span> 
<script type="text/javascript">
function showLucky(root) {
    var feed = root.feed;
    var entries = feed.entry || [];
    var entry = feed.entry[0];
    for (var j = 0; j < entry.link.length; ++j) {
        if (entry.link[j].rel == 'alternate') {
            window.location = entry.link[j].href;
        }
    }
}
function fetchLuck(luck) {
    script = document.createElement('script');
    script.src = '/feeds/posts/summary?start-index=' + luck + '&max-results=1&alt=json-in-script&callback=showLucky';
    script.type = 'text/javascript';
    document.getElementsByTagName('head')[0].appendChild(script);
}
function feelingLucky(root) {
    var feed = root.feed;
    var total = parseInt(feed.openSearch$totalResults.$t, 10);
    var luckyNumber = Math.floor(Math.random() * total);
    luckyNumber++;
    a = document.createElement('a');
    a.id = 'navlink';
    a.href = '#random';
    a.rel = luckyNumber;
    a.onclick = function () {
        fetchLuck(this.rel);
    };
    a.innerHTML = 'Random Song';
    document.getElementById('myLuckyPost').appendChild(a);
}
</script>
<script src="/feeds/posts/summary?max-results=0&alt=json-in-script&callback=feelingLucky"></script>
4

1 に答える 1

2

URL パターンがわかりません。しかし、あなたのスクリプトによれば、それはラッキーナンバーに関連している必要があります:

var luckyNumber = Math.floor(Math.random() * total);

したがって、この乱数を次/前の投稿の対応する数に変更すると、問題が解決します。

于 2012-05-03T10:17:42.127 に答える