私は360の3Dビューで画像を表示するプラグインを持っています。 ウェブページを開くと、背景が36枚の写真を読み込んでおり、写真を読み込んだ後、プラグインは1枚の写真を撮って表示します。jqueryは読み込まれた後に重複要素を削除します
私の問題は、すべての画像がロードされ、ajaxでボタンをクリックした後で他のデータを読み込む前に、ページ上で他の操作を行うことができ、私はHTMLコードに重複したエントリを取得し、いくつかの画像が表示され、このようなものではありません(このコードは3Dプラグインを生成します)。
<div>
<div rel="0" style="position: absolute; width: 100%; height: 100%; display: none;">
<img src="img0.png" class="3dweb">
</div>
<div rel="1">
<img src="img1.png" style="position: relative; width: 100%; height: auto;" class="3dweb">
</div>
<div rel="2" style="position: absolute; width: 100%; height: 100%; display: none;">
<img src="img3.png" style="position: relative; width: 100%; height: auto;" class="3dweb">
</div>
<div rel="3" style="position: absolute; width: 100%; height: 100%; display: none;">
<img src="img3.png" style="position: relative; width: 100%; height: auto;" class="3dweb">
</div>
<div rel="1" style="position: absolute; width: 100%; height: 100%; display: none;">
<img src="img1.png" style="position: relative; width: 100%; height: auto;" class="3dweb">
</div>
<div rel="3" style="position: absolute; width: 100%; height: 100%; display: block;">
<img src="img3.png" style="position: relative; width: 100%; height: auto;" class="3dweb">
</div>
<div rel="3" style="position: absolute; width: 100%; height: 100%; display: block;">
<img src="img3.png" style="position: relative; width: 100%; height: auto;" class="3dweb">
</div>
<div rel="0" style="position: absolute; width: 100%; height: 100%; display: block;">
<img src="img0.png" style="position: relative; width: 100%; height: auto;" class="3dweb">
</div>
私の解決策は、すべてのイメージがロードされた後、私は重複したエントリを削除し、唯一の絵を示すことでした。
問題は、私のjavascript/jqueryコードがブラウザをフリーズし、なぜ、おそらく私はそれがより良い解決策を与えると思いますが、私はより良い解決策を見つけることができないということです。たブラウザが凍結されているか、私は/より良いを行う必要があります可能性がある理由を
私のjavascript/jqueryのコード
var myVar = setInterval(function(){ myTimer() }, 4000);
function myTimer() {
if($('[rel=35]').length > 0) {
$('.js-loading-car-image').css("display","none");
var x = 1;
var i = 0;
while (i < 35) {
var tmp = $('[rel='+i+']').next();
if($(tmp).attr("rel") == x) {
x++;
i++;
} else {
$('[rel='+i+']').next().remove();
}
}
for(var i=0; i<36;i++) {
var display = $('[rel='+i+']').css("display");
if(display=="block") {
$('[rel='+i+']').css("display", "none");
}
}
$('[rel=26]').css("display","block");
$('.js-3d-images').fadeIn("slow");
myStopFunction();
}
}
function myStopFunction() {
clearInterval(myVar);
}
誰のアイデア?
こんにちは探している解決策があるかどうかをチェックし、何がやりたいことは、すべてのデータがロードされた後に、重複する要素を削除しています。それはあなたが探しているソリューションですか? – SilentCoder
はい、それは私が探している解決策です。 すべての「rel」は正しい順序でなければなりません。 最初に "rel = 0"の要素、次に "rel = 1"というように要素が続きます。 – Mark