、私は(これは CURRENT IS )ページ上で実行されているjQueryのJavaScriptの文書に次のコードを持っている:繰り返しコードブロックの問題
$(window).resize(function(){
detectscreen();
});
function windowWidth() {
if(!window.innerWidth) {
// user is being a git, using ie
return document.documentElement.clientWidth;
} else {
return window.innerWidth;
}}
gearsExists = false;
function detectscreen() {
shouldExist = windowWidth() >= 1300;
if (shouldExist != gearsExists) {
if (shouldExist) {
$('body').append('<div id="gearsfloat"><a href="#" id="clickGoTop"></a></div>');
$('#clickGoTop').fadeTo(0,0);
$('#clickGoTop').hover(function() {
$(this).stop().fadeTo(500,1);
}, function() {
$(this).stop().fadeTo(500,0);
});
} else {
$('#gearsfloat').remove();
$('#clickGoTop').remove();
}
gearsExists = shouldExist;
}
}
このコードは、私のprevious questionからであるが、私はそれを考えるという理由だけで、ここで分枝状関連している。
ここで問題となるのは、始まりがうまく表示されていることです。ただし、画面のサイズを1300未満に変更すると、画面が消えます。まだいい。
私は再び1300より大きいウィンドウを作ります。突然、歯車の要素が倍増します。もうひとつの画面が大きくて大きくBAMには3つあります。これを数回行い、それがすぐに加算されます。
どうすればいいですか?
ブロックが空の場合、gearsFload lengthチェックはなぜですか?また、if条件で==演算子を使うべきです。 また、先に書いたように、#clickGoTopリンクを明示的に削除する必要はありません。これは、gearsFloat divを削除すると自動的に削除されるためです。 – SolutionYogi
ああ、oopsies、私は誤ってそこに残しました。それまでは、CPU使用量がサイズ変更されるたびに削除され、その後に追加されるということをよく知っています。 –
私はそれについて何かできるか、それとも最善の方法ですか? –