こんにちはみんな、
私はJavaScriptを初めて使用し、インターネットで多くの調査を行い、スピナーの実装に失敗した後、あなたに尋ねることにしました。
Spin.jsを使用しています( http://fgnass.github.com/spin.js/#v1.2.6 )。それは素晴らしいツールのようですが、私はそれを機能させることができません。私の質問は私が間違っていることですか?私はそれを本当に理解することはできません。どんな助けでも大歓迎です。どうもありがとうございます。
これが私のコードです:
<script src="Scripts/Spin.js" type="text/javascript"></script>
<script type="text/javascript">
function spinnerInit() {
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
visibility: true
};
var target = document.getElementById('spinnerContainer');
//target.style.display = "block";
var spinner = new Spinner(opts).spin(target);
}
</script>
<script type="text/javascript">
$(document).ready(function () {
$('#btnPerformSave').click(function () {
spinnerInit();
});
});
</script>
<div id="spinnerContainer" class="spinner" style="width: 100%; height: 150%;
position: absolute; z-index: 100; background-color: Gray;
left: 0; top: 0; bottom: 0;right: 0">
</div>
交換してみてください
var target = document.getElementById('spinnerContainer');
var spinner = new Spinner(opts).spin(target);
と
$('#spinnerContainer').after(new Spinner(opts).spin().el);
Spinメソッドが作成するhtml要素をdomに追加する必要があります
これがあなたが始めるための例です http://jsfiddle.net/5CQJP/1/
この質問に答えられたかどうかはわかりませんが、まだ答えを探している人のために:
私は、spinnerContainerdivの下にJavaScriptを移動する必要があることを知りました。 javascriptをonloadイベントに入れると、これも機能すると思います。これが私がしたことです:
<div id="spinnerContainer" class="spinner" style="width:100px;height:100px;background-color: Gray;">
</div>
<script src="Scripts/Spin.js" type="text/javascript"></script>
<script type="text/javascript">
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('spinnerContainer');
var spinner = new Spinner(opts).spin(target);
</script>
これが私の答えです。よく働く。
//Declare Script
<script src="Scripts/spin.js" type="text/javascript"></script>
<button id="btnSearchClick">Search</button>
//Displays Loading Spinner
<div id="loading">
<div id="loadingcont">
<p id="loadingspinr">
</p>
</div>
</div>
<script type="text/javascript">
//On button click load spinner and go to another page
$("#btnSearchClick").click(function () {
//Loads Spinner
$("#loading").fadeIn();
var opts = {
lines: 12, // 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
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
};
var trget = document.getElementById('loading');
var spnr = new Spinner(opts).spin(trget);
//Go another page.
window.location.href = "http://www.example.com/";
});
</script>
私はこれがかなり遅いことを知っていますが、あなたがこれを機能させることができたかどうか私は興味があります。私が少しの間やっていたのに気づかなかった愚かなことを1つお話しします。スピナーを背景と同じ色にしていたので、見えませんでした。また、ここに示すようにJQueryを使用しました https://Gist.github.com/its-florida/1290439 魅力のように機能しました
これを試して:
var target = document.getElementById('spinnerContainer');
//target.style.display = "block";
var spinner = new Spinner(opts);
JQueryを使用する場合:
$(target).html(spinner.el);
そうでない場合は、ドキュメントのように:
target.innerHtml = '';
target.appendChild(spinner.el);
私はこれを試しませんでしたが、うまくいくはずです。問題が発生した場合は、お知らせください。