user1283317
user1283317

Reputation: 45

Modify function to link to next and previous post

I have a JavaScript button on my blogger website that takes you to a random post. The code for it is below. Is there a way to change this code to take the user to the next or previous post?

<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>

Upvotes: 1

Views: 197

Answers (1)

Robby Shaw
Robby Shaw

Reputation: 4915

I am not sure about your URL pattern. But according to your script, it must be related to the luckyNumber:

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

So change this random number to the corresponding number of Next/Previous post will solve your problem.

Upvotes: 2

Related Questions