使用turn.js定期刷新书籍的动态页面

ur

我已经创建了一个动态生成的内容的示例,可以使用此处提供的示例使用turn.js进行查看

这是我到目前为止所拥有的代码的一部分:

<body>
   <div id="paper">
   </div>
</body>

<script type="text/javascript">
    $(window).ready(function() {
        $('#paper').turn({pages: 12});
    });

    $('#paper').bind('turning', function(e, page) {
          var range = $(this).turn('range', page);
          for (page = range[0]; page<=range[1]; page++)
            addPage(page, $(this));
        });

    function addPage(page, book) {
           // Check if the page is not in the book
          if (!book.turn('hasPage', page)) {
            // Create an element for this page
            var element = $('<div />').html('Loading…');
            // Add the page
            book.turn('addPage', element, page);
            // Get the data for this page   
           $.ajax({url: "getPage?filename=abcd&page="+page})
             .done(function(data) {
               element.html(data);
             });
           }
        }
</script>

getPage是<div class="page"><img src="docs/local/abcd_1.png" alt="" /></div>根据ajax请求返回的jsp或任何其他页号。

我的问题是,在请求时png的请求在Web服务器上可能可用,也可能不可用。它们将在几秒钟(有时是几秒钟)后变为可用。因此,如果png不可用,我希望能够显示一些默认的“正在加载...”类型的内容,并定期(即每x秒)刷新一次,直到实际的png可用为止。如果需要,更改getPage的输出没有问题。

ur

我已经通过进行以下更改来使自己完成这项工作:

<div class="loader"><img src="docs/local/ajax-loader.gif" alt="" /></div>如果请求的png不可用,则getPage现在返回

在调用页面中,我更改了代码以检查'loader'字符串,如果找到(表示png不可用),则我调用setTimeout,以在给定的时间后重试获取图像:

<body>
   <div id="paper">
   </div>
</body>

<script type="text/javascript">
    $(window).ready(function() {
        $('#paper').turn({pages: <s:property value='pages'/>});
    });

    $('#paper').bind('turning', function(e, page) {
          var range = $(this).turn('range', page);
          for (page = range[0]; page<=range[1]; page++)
            addPage(page, $(this));
        });

    function addPage(page, book) {
           // Check if the page is not in the book
          if (!book.turn('hasPage', page)) {
            // Create an element for this page
            var element = $('<div />').html('Loading…');
            // Add the page
            book.turn('addPage', element, page);
            // Get the data for this page   
            refreshPage(element,page);
          }
        }

    function refreshPage( element, page )
    {
           $.ajax({url: "getPage?filename=<s:property value='filename'/>&page="+page})
             .done(function(data) {
               if( data.indexOf( "loader") > -1 )
               {
                   setTimeout(function() {
                       refreshPage(element,page);
                    }, 5000);
               }
               element.html(data);
             });
    }

也许有更好的方法可以实现这一目标,但至少可以奏效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用turn.js定期刷新书籍的动态页面

来自分类Dev

如何使用turn.js进行缩放

来自分类Dev

使用动态编程复制书籍

来自分类Dev

使turn.js使用由id插入的类

来自分类Dev

使用jQuery动态加载内容后,避免页面刷新

来自分类Dev

我可以使用angular js ng-repeat和turn.js吗?

来自分类Dev

当ajax请求定期自动刷新时,如何使用knockout.js数据绑定?

来自分类Dev

Framework 7上的no-swipeback无法与turn js一起使用

来自分类Dev

使turn.js使用一个由id插入的类

来自分类Dev

使用 Matlab 访问 Microsoft Onenote 书籍/章节/页面

来自分类Dev

如何使用动态路由在页面中触发相同的.js?

来自分类Dev

如何在不使用MathJax刷新页面的情况下动态呈现Tex和LaTex公式?

来自分类Dev

使用Ajax刷新部分页面时,JS,jQuery无法正常工作

来自分类Dev

使用Vue.js和本地存储刷新页面后保持按钮文本状态

来自分类Dev

使用Next JS刷新页面上的.jsundefined .cssundefined webpack块

来自分类Dev

如何使用Knockout.js防止标签刷新页面?

来自分类Dev

DC.js动态刷新图表以使用更新的数据集

来自分类Dev

使用setTimeout和go()定期刷新core-ajax;

来自分类Dev

使用后台线程定期刷新字段的值

来自分类Dev

如何使用 Spark 在 Zeppelin 中定期刷新?(爪哇)

来自分类Dev

使用AngularJS的SPA刷新页面

来自分类Dev

检查页面刷新或使用jQuery / javascript关闭

来自分类Dev

使用R Shiny添加页面刷新按钮

来自分类Dev

如何在页面刷新上使用useSelector

来自分类Dev

使用AngularJS的SPA刷新页面

来自分类Dev

使用AJAX时页面不断刷新

来自分类Dev

使用Jquery刷新DIV复制整个页面

来自分类Dev

如何使用pubnub timetoken处理页面刷新

来自分类Dev

使用 JQuery 过度刷新页面

Related 相关文章

  1. 1

    使用turn.js定期刷新书籍的动态页面

  2. 2

    如何使用turn.js进行缩放

  3. 3

    使用动态编程复制书籍

  4. 4

    使turn.js使用由id插入的类

  5. 5

    使用jQuery动态加载内容后,避免页面刷新

  6. 6

    我可以使用angular js ng-repeat和turn.js吗?

  7. 7

    当ajax请求定期自动刷新时,如何使用knockout.js数据绑定?

  8. 8

    Framework 7上的no-swipeback无法与turn js一起使用

  9. 9

    使turn.js使用一个由id插入的类

  10. 10

    使用 Matlab 访问 Microsoft Onenote 书籍/章节/页面

  11. 11

    如何使用动态路由在页面中触发相同的.js?

  12. 12

    如何在不使用MathJax刷新页面的情况下动态呈现Tex和LaTex公式?

  13. 13

    使用Ajax刷新部分页面时,JS,jQuery无法正常工作

  14. 14

    使用Vue.js和本地存储刷新页面后保持按钮文本状态

  15. 15

    使用Next JS刷新页面上的.jsundefined .cssundefined webpack块

  16. 16

    如何使用Knockout.js防止标签刷新页面?

  17. 17

    DC.js动态刷新图表以使用更新的数据集

  18. 18

    使用setTimeout和go()定期刷新core-ajax;

  19. 19

    使用后台线程定期刷新字段的值

  20. 20

    如何使用 Spark 在 Zeppelin 中定期刷新?(爪哇)

  21. 21

    使用AngularJS的SPA刷新页面

  22. 22

    检查页面刷新或使用jQuery / javascript关闭

  23. 23

    使用R Shiny添加页面刷新按钮

  24. 24

    如何在页面刷新上使用useSelector

  25. 25

    使用AngularJS的SPA刷新页面

  26. 26

    使用AJAX时页面不断刷新

  27. 27

    使用Jquery刷新DIV复制整个页面

  28. 28

    如何使用pubnub timetoken处理页面刷新

  29. 29

    使用 JQuery 过度刷新页面

热门标签

归档