Кнопки Next и Prev на основе метки - PullRequest
0 голосов
/ 15 марта 2020

Я пытался сделать следующую кнопку и превью в блоггере, но это не сработало. Кнопка появляется, но есть ошибка.

  1. На первой странице должна быть только кнопка Next, но вместо нее есть кнопка Prev, которая ведет к последней странице
  2. то же самое произошло на страницах 2-30, есть только кнопки назад, которые ведут к последней странице
  3. Для страниц 31-60s кнопка работает хорошо, но каким-то образом на странице 31 есть только следующая кнопка, даже если должна быть следующей и предыдущей кнопкой

Код

<b:includable id='pager_chapter' var='type'>
  <b:if expr:cond='data:post.labels any (l => l.name != data:type.name)'>
    <script type='text/javascript'>var selectchap = false;</script>
  </b:if>
  <b:if expr:cond='data:post.labels any (l => l.name == data:type.name)'>
    <script type='text/javascript'>var selectchap = true;</script>
  </b:if>
  <b:loop index='i' values='data:post.labels' var='label'>
    <b:if cond='data:i == 0'>
      <div class='pager-js' id='pager-js'>
        <div class='_prev' id='prevjs'><a class='pager-js-nolink'><i class='far fa-caret-square-left'/></a></div>
        <div class='_index' id='indexjs'><a class='pager-js-nolink'><i class='far fa-list-alt'/></a></div>
        <div class='_next' id='nextjs'><a class='pager-js-nolink'><i class='far fa-caret-square-right'/></a></div>
      </div>
      <script type='text/javascript'>
        var postPrev = "<i class='fas fa-arrow-alt-circle-left'/>";
        var postNext = "<i class='fas fa-arrow-alt-circle-right'/>";
        var postIndex = "<i class='fas fa-list-ul'/>";
        var postID = <data:post.id/>;
        /*<![CDATA[*/
            if (selectchap == false) {
              var yktocs = function(data) {
                var i = 0;
                for (; i < data.feed.entry.length; i++) {
                  var j = 0;
                  for (; j < data.feed.entry[i].link.length; j++) {
                    if ("alternate" == data.feed.entry[i].link[j].rel) {
                      var entityUrl = data.feed.entry[i].link[j].href;
                      break
                    }
                  }
                  document.getElementById("indexjs").innerHTML = "<a href='" + entityUrl + "' title='Index Novel'>" + postIndex + "</a>"
                }
              };
              var ykpager = function(data) {
                var node = {
                  postlist: []
                };
                var i = 0;
                for (; i < data.feed.entry.length; i++) {
                  var j = 0;
                  for (; j < data.feed.entry[i].link.length; j++) {
                    if ("alternate" == data.feed.entry[i].link[j].rel) {
                      var murl = data.feed.entry[i].link[j].href;
                      break
                    }
                  }
                  var videoId = data.feed.entry[i].id.$t;
                  var CAPTURE_ID = videoId.substr(51, 19);
                  node.postlist.push({
                    url: murl,
                    id: CAPTURE_ID
                  })
                }
                var v = node.postlist.findIndex((timeline_mode) => {
                  return timeline_mode.id == postID
                });
                var id = v + 1;
                var cbs = node.postlist[id];
                if (null != cbs) {
                  var g = Object.values(cbs)[0];
                  var lnkDiv = document.getElementById("prevjs");
                  lnkDiv.innerHTML = "<a href='" + g + "' title='Chapter Prev'>" + postPrev + "</a>"
                }
                var q = v - 1;
                var val = node.postlist[q];
                if (null != val) {
                  var k = Object.values(val)[0];
                  lnkDiv = document.getElementById("nextjs");
                  lnkDiv.innerHTML = "<a href='" + k + "' title='Chapter Next'>" + postNext + "</a>"
                }
              }
              } else {
                document.write("<style>.pager-js{display:none;}</style>")
              };
/*]]>*/</script>
      <script defer='defer' expr:src='"/feeds/posts/summary/-/" + data:label.name + "?alt=json-in-script&amp;callback=ykpager"' type='text/javascript'/>
      <script defer='defer' expr:src='"/feeds/posts/summary/-/" + data:type.name + "/" + data:label.name + "?orderby=published&amp;alt=json-in-script&amp;callback=yktocs&amp;max-results=1"' type='text/javascript'/>
    </b:if>
  </b:loop>
</b:includable>
...