0

嗨,我有一个要替换的 div。原始 div 和替换都有一些额外的 jQuery 动画。我可以用内容替换旧 div,但是当我尝试用调用相同动画的这个 div 替换它时,我认为动画脚本是冲突的,因为新 div 正在尝试加载但只显示加载动画微调器。

原始的 div 看起来像这样

<td class="Products eventChangeProducts">
<div class="mosaic-block bar"><a href="http://localhost/shop/greeting-cards/" class="mosaic-overlay">
<div class="mosaicdetails"><h4 class="mosaicdisplay">Greeting Cards</h4>
<p class="mosaicdisplay">4x6 Cards with your Photo</p></a></div>
<div class="mosaic-backdrop"><a href="http://localhost/shop/greeting-cards/">
<img src="http://localhost/wp-content/uploads/postcard-300x300.jpg">
</a></div></div></td>

jQuery replaceWith 在这里

 jQuery(document).ready(function($){
   $('.eventChangeProducts').replaceWith('<td class="nfpProducts"> 
<div class="mosaic-block bar"><a href="http://localhost/shop/facebook-link/" class="mosaic-overlay">
<div class="mosaicdetails"><h4 class="mosaicdisplay">Facebook Link</h4>
<p class="mosaicdisplay">Post your Picture to Facebook</p></a></div>
<div class="mosaic-backdrop"><a href="http://localhost/shop/facebook-link/">
<img src="http://localhost:8888/wp-content/uploads/facebook-likes-300x300.jpg">
</a></div></div></td>');

jQuery 动画在这里

jQuery(function($){
   jQuery(".bar").mosaic({
       animation:   
    });
});

我读过这个 - .replaceWith() 方法,像大多数 jQuery 方法一样,返回 jQuery 对象,以便其他方法可以链接到它。但是,必须注意返回的是原始的 jQuery 对象。此对象指的是已从 DOM 中删除的元素,而不是替换它的新元素。

所以我猜测 jQuery 动画被调用了两次,并且存在各种冲突。

如果那么我如何完全删除第一个 div 并用新的 div 替换它,这样就不会发生这种情况?

或者是别的什么?

4

1 回答 1

0

将 jQuery 函数放在页脚(而不是放在页眉中)似乎有助于解决这个问题。

于 2013-08-31T17:35:42.587 回答