在AJAX调用后,Nivo滑块将无法正确加载

时间:2012-02-27 12:58:28

标签: jquery ajax nivo-slider

我的网站存在这个问题

我的主页结构是这个

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>



<script type="text/javascript">
var escapedHash;

function findHash() {
    if(window.location.hash) {
        //$("#content").html("Loading...");

        escapedHash = window.location.hash.replace("#!", "");
        //alert(escapedHash);

        $.get("data.php?_escaped_fragment_=" + escapedHash, function(data) {
            $("#content").html(data);
        });
    }
}

$(document).ready(function() {
    findHash();
});

$(window).bind('hashchange', function() {
    findHash();
});
</script>

</head>

<body>


<ul id="nav">
<li><a href="#!page-1">Page-1</a></li>
<li><a href="#!page-2">Page-2</a></li>
...
<li><a href="#!page-n">Page-n</a></li>
</ul>


<div id="content"></div>

</body>
</html>

从此数组data.php加载数据

<?php

$hash_frag = $_GET['_escaped_fragment_'];

$content = array(

"page-1" => 'content page 1',

"page-2" => 'content page 2',

...

"page-n" => 'content page n'



);

if(isset($hash_frag)) {
    echo $content[$hash_frag];
}

?>

Nivo滑块位于此页面之一,如果我刷新削减URL /#!page-n(其中page-n包含滑块),一切都很完美。

一旦我调用另一个页面,一切都按预期加载来自另一页面的内容并替换滑块。好的都好。

现在,如果我尝试从另一个页面加载滑块,它就不会加载,或者更好,它会进入div而不显示。我已经在点击时链接了nivo.slider的初始化,我试图将它放在数组或主页面上......没有区别。

有人可以帮我解决这个巨大的谜团吗?

谢谢堆 Emanuele的

1 个答案:

答案 0 :(得分:0)

您在<script src="http../jquery.min.js..

之后未导入nivo css js 插件