我的主页上有一个 div,它使用一个名为 hoverwords 的 jQuery 插件为 div 内的一些链接创建翻转动画,如下所示:
<div id="contentWrapper">
<div class="animations">
<a href="#" id="animatedText1">Text1</a>
<a href="#" id="animatedText2">Text2</a>
<a href="#" id="animatedText3">Text3</a>
</div>
</div>
它使用以下脚本在首次加载时很好地加载插件:
$(function(){
$(window).load(function(){
$(".animations a").hoverwords();
});
});
然后,如果启用了 JavaScript,我将使用 AJAX 从我的其他页面异步加载内容。其他一些页面使用相同的 hoverwords 插件,我很难重新加载脚本,因为它没有被调用为我可能使用 .on() 或 .live() 绑定的事件。以下是我如何使用 jQuery 动画加载新内容以隐藏页面,然后在通过 AJAX 加载后显示新页面:
$(function() {
$(".button").click(function() {
var anchor = $("#contentWrapper");
var pageHeight = $("#contentWrapper").height();
var pageName = 'null';
var extension = '.htm';
if ($(this).attr('id')==='home') {
pageName = 'index';
extension = '.html';
} else {
pageName = $(this).attr('id');
}
$.ajax({
type : 'get',
url : pageName + extension,
success : function() {
var $newContent = $('<div id="contentWrapper" />').load(pageName + extension + ' #contentWrapper > *');
$("#contentWrapper").replaceWith($newContent);
};
});
});
});
我是 jQuery 新手,可能以完全错误的方式执行此操作,但此时我完全不知道如何将相同的脚本重新应用于新加载的 AJAX div ...