2

spin.jsライブラリを使用して読み込み中のアニメーションを表示しようとしています。ただし、spin.js開発者の例から外れると、動作/表示されないようです。これは、Firefoxでhtmlファイルを開いたときに空のdivタグで明らかになります。

これが私のコード(spinnertest.html)です:

<html>
<head>
    <script src="spin.min.js">
        var opts = {
          lines: 13, // The number of lines to draw
          length: 7, // The length of each line
          width: 4, // The line thickness
          radius: 10, // The radius of the inner circle
          corners: 1, // Corner roundness (0..1)
          rotate: 0, // The rotation offset
          color: '#000', // #rgb or #rrggbb
          speed: 1, // Rounds per second
          trail: 60, // Afterglow percentage
          shadow: false, // Whether to render a shadow
          hwaccel: false, // Whether to use hardware acceleration
          className: 'spinner', // The CSS class to assign to the spinner
          zIndex: 2e9, // The z-index (defaults to 2000000000)
          top: 'auto', // Top position relative to parent in px
          left: 'auto' // Left position relative to parent in px
        };
        var target = document.getElementById("spinner");
        var spinner = new Spinner(opts).spin(target);
    </script>
</head>
<body>
    <div id="spinner">
    </div>
</body>


興味のある人のための作業コード(同じディレクトリにjquery-1.9.0.min.jsとspin.min.jsが必要です):

<html>
<head>
    <script type="text/javascript" src="spin.min.js"></script>
    <script type="text/javascript" src="jquery-1.9.0.min.js"></script>
    <script type="text/javascript">
        $(function() {
            var opts = {
              lines: 13, // The number of lines to draw
              length: 7, // The length of each line
              width: 4, // The line thickness
              radius: 10, // The radius of the inner circle
              corners: 1, // Corner roundness (0..1)
              rotate: 0, // The rotation offset
              color: '#000', // #rgb or #rrggbb
              speed: 1, // Rounds per second
              trail: 60, // Afterglow percentage
              shadow: false, // Whether to render a shadow
              hwaccel: false, // Whether to use hardware acceleration
              className: 'spinner', // The CSS class to assign to the spinner
              zIndex: 2e9, // The z-index (defaults to 2000000000)
              top: 'auto', // Top position relative to parent in px
              left: 'auto' // Left position relative to parent in px
            };
            var target = document.getElementById("spinner");
            var spinner = new Spinner(opts).spin(target);
        });
    </script>
</head>
<body>
    <div id="spinner">
    </div>
</body>

4

2 に答える 2

7

scriptsrc属性を持つタグ内のコードが実行されるとは思わない。コードを次のように変更すると、機能しますか?

<script type="text/javascript" src="spin.min.js"></script>
<script type="text/javascript">
  $(document).ready(function () {
    var opts = ...
    ...
    // all the code that you currently have between <script> and
    // </script> goes here
  });
</script>
于 2013-02-03T21:04:40.303 に答える
0

DOM対応状態で初期化する必要があります。そうでない場合は。targetになりますnullscriptまた、別のタグにincludeスクリプトを含める必要があります。

jqueryを使用しています...

$(function() {
  var target = document.getElementById("spinner");
  var spinner = new Spinner(opts).spin(target);
});
于 2013-02-03T20:49:33.093 に答える