HTMLコンテンツフォームのdivを別のものに複製しようとしていて、うまく動作するようになっていますが、 (アニメーション '不透明度'を使用すると、fadeOutがHTMLを混乱させるので)、アニメーション機能でラップされると、私の.html():
は正しく動作しません。ここ は私のコードです:JQuery:アニメーションでラップされたときに一致するクラスが一致しない関数
JS:
WORKING:
function cloneContent($projectItem) {
$lightbox = jQuery('.lightbox');
$LBChild = $lightBox.find('*'); //any child
$LBChild.each(function(i, e) {
$LBclone = jQuery('.LB-clone'); //item to clone
_LBclasses = this.classList;
for(var i=0,len=_LBclasses.length; i<len; i++) {
if ($LBclone.hasClass(_LBclasses[i])) {
$LBmatch = jQuery(this);
$clonePair = $projectItem.parents('.gallery-item').find('.LB-clone.' + _LBclasses[i]);
$clonePairHtml = $clonePair.html();
$LBmatch.html($clonePairHtml);
}
}
});
} //close cloneContent
が機能していない:
function cloneContent($projectItem) {
$lightbox = jQuery('.lightbox');
$LBChild = $lightBox.find('*'); //any child
$LBChild.each(function(i, e) {
$LBclone = jQuery('.LB-clone'); //item to clone
_LBclasses = this.classList;
for(var i=0,len=_LBclasses.length; i<len; i++) {
if ($LBclone.hasClass(_LBclasses[i])) {
$LBmatch = jQuery(this);
$clonePair = $projectItem.parents('.gallery-item').find('.LB-clone.' + _LBclasses[i]);
$clonePairHtml = $clonePair.html();
//When function is wrapped in animation, id doesn't work!
$LBmatch.animate({opacity: 0 },250, function() {
$LBmatch.html($clonePairHtml);
}).animate({opacity : 1}, 500);
}
}
});
} //close cloneContent
ここで問題を明確にして、いくつかの警告とフィドルです:https://jsfiddle.net/popmouth/sg5sq72e/15/
後、このようにそれを試していない - > https://jsfiddle.net/Lvxo9xax/私が働いていなかったものと少し不明であった – adeneo
おかげで...私は私の質問を更新します。 –
ああ、私はそれを参照してください。これは[ループ内のクロージャ](https://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example)の複製であり、すべての変数は**グローバル**です – adeneo