从div打开超链接,并将其加载到相同的div

时间:2018-01-20 17:32:58

标签: php jquery html css ajax

目前有

$(document).ready(function() {

    // Check for hash value in URL
    var hash = window.location.hash.substr(1);
    var href = $('#menu a, #name a, #contact_us a, #item a, #text a').each(function(){
        var href = $(this).attr('href');
        if(hash==href.substr(0,href.length-4)){
            var toLoad = hash+'.php #pagearea';
            $('#pagearea').load(toLoad)
        } 
    });


    $('#menu a, #name a, #contact_us a, #item a, #text a').click(function(e){
                if($(e.target).is('foo')){
                e.preventDefault();
                window.location.href = "/current/forum";
                return;
                }

    var toLoad = $(this).attr('href');
    $('#pagearea').hide('fast',loadContent);
    $('#load').remove();
    $('#wrapper').append('<span id="load">LOADING...</span>');
    $('#load').fadeIn('normal');
    window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-4);
    function loadContent() {
        $('#pagearea').load(toLoad,'',showNewContent())
    }
    function showNewContent() {
        $('#pagearea').show('normal',hideLoader());
    }
    function hideLoader() {
        $('#load').fadeOut('normal');
    }
    return false;

    });
});

运作良好。除非遵循#pagearea内部的链接。它只是改为php页面。我找到了以下主题

答案:更新JQuery。使用的是过时的版本。问题已得到解决。

2 个答案:

答案 0 :(得分:0)

以下代码可以正常使用php和html文件

的index.html:

<div id="menu">
    <a href="default.php" class="menu" data-url="index">Home</a>|
    <a href="about.php" class="menu" data-url="about">About</a>|
    <a href="picture.php" class="menu" data-url="picture">Pictures</a>|
    <a href="videos.php" class="menu" data-url="videos">Videos</a>
</div>

的script.js:

 $("document").ready(function() {    
    loadPage("default.html");
    $(".menu").on("click", function(e) {
        e.preventDefault();
        var fullPath = $(this).attr("href");
        loadPage(fullPath);
    });
    function loadPage(fullPath){
        $("#pagearea").load(fullPath, function(response, status, xhr) {
        if (status == "error") {
            var msg = "Sorry but there was an error: ";
            $("#error").html(msg + xhr.status + " " + xhr.statusText);
        }
        });
    }
});

答案 1 :(得分:0)

叹息 sighisghisgh

原始代码完美无缺。更新Jquery。大声喊叫。我笑了但那是一天半我无法回来。