php ajax练习

实现ajax请求页面,为了实现后台代替frame后台框架。
这个ajax解决了ajax自身无法使用浏览器前进、后退功能丧失的问题。
目前ajax与frame的性能方面还在测试。

PHPAjax

以下为jquery的代码片段

<!-- lang: js -->
$(document).ready(function(e) {
    var processHash = function () { 
        var myData = location.hash.replace("#", "");
        //格式化掉myData里面的#号
            if (myData){
            //如果地址myData变量值存在那么
                chuliAjax(myData)
                //运行chuliAjax函数
            }
    }

    window.onload = processHash;
    //加载processHash函数 
    window.onhashchange = processHash;
    //地址改变就执行processHash函数;

    function chuliAjax(myData){
        $.ajax({
            type:'post',
            url:'chuli.php',
            data:'data='+myData,
            dataType:'html',
            success:function(Data){
                $(".contBox").html(Data)
            },
            error:function(){
                alert("ajax提交失败的处理函数!")
            }
        });
        //ajax结束;
    }

    $(".siderBar ul li span").mouseenter(function(){
    //当鼠标挪到siderBar ul li span上时执行以下脚本;
        $(this).addClass("hover");
        //这个元素添加一个hover的Class;
        $(this).click(function(){
        //点击这个元素时;
            var myData = $(this).attr("myData");
            //变量myData的值为这个被点击的元素的myData属性值;
            window.location.hash=(myData);
            //地址栏记录名为myData的变量地址值;
            chuliAjax(myData);//执行chuliAjax函数;
            if($(this).attr("id")!=="cursor"){
            //判断如果这个元素的属性为ID的值不等于cursor那么;
                $("#cursor").removeAttr("id");
                //名为cursor的id将删除id这个自身的属性;
                $(this).attr("id","cursor");
                //这个元素添加id值为cursor;
            }
		
        });

    });

    $(".siderBar ul li span").mouseleave(function(){
    //当鼠标移出siderBar ul li span上时执行以下脚本;
        $(this).removeClass("hover");
        //删除这个Class属性的hover值;
    });

});

以下为shou.php代码片段

<!-- lang: php -->
$myData = $_POST['data'];

function openFile($myData){
    $arr= array(
        'openOne'=>'page/1.php',
        'openTwo'=>'page/2.php',
        'openThree'=>'page/3.php',
        'openFour'=>'page/4.php',
        'openFive'=>'page/5.php',
        'openSix'=>'page/6.php',
        'openSeven'=>'page/7.php',
        'openEight'=>'page/8.php',
        'openNine'=>'page/9.php',
        'openTen'=>'page/10.php'
    );

    include($arr[$myData]);
}

openFile($myData);

以下为html代码结构片段

<!-- lang: html -->
<div class="siderBar">
    <ul>
        <li><span myData="openOne">打开页面一</span></li>
        <li><span myData="openTwo">打开页面二</span></li>
        <li><span myData="openThree">打开页面三</span></li>
        <li><span myData="openFour">打开页面四</span></li>
        <li><span myData="openFive">打开页面五</span></li>
        <li><span myData="openSix">打开页面六</span></li>
        <li><span myData="openSeven">打开页面七</span></li>
        <li><span myData="openEight">打开页面八</span></li>
        <li><span myData="openNine">打开页面九</span></li>
        <li><span myData="openTen">打开页面十</span></li>
    </ul>
</div>

<div class="contBox"></div>

以下为CSS代码片段

<!-- lang: css -->
body{
     margin:40px;
}

*{
    margin:0px;
    padding:0px;
    list-style:none;
}

.siderBar{
    width:120px;
    height:300px;
    float:left;
}

.siderBar ul li{
    width:120px;
    height:30px;
    float:left;
}

.siderBar ul li span{
    width:100px;
    height:30px;
    line-height:30px;
    padding:0 10px 0 10px;
    font-size:12px;
    display:block;
    background:#eee;
    cursor:pointer;
}

.siderBar ul li .hover{
    background:#ccc;
}

.siderBar ul li #cursor{
    width:100px;
    border-left:5px solid #000;
    background:#900;
    padding:0 10px 0 5px;
    color:#FFF;
}

.contBox{
    width:280px;
    height:280px;
    float:left;
    margin-left:1px;
    display:inline;
    background:#900;
    padding:10px;
    color:#FFFF00;
    font-size:12px;
}

转载于:https://my.oschina.net/dodoro/blog/157624

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值