解决方案 »

  1.   

    会闪是指刷新吧?如果要不刷新,要用jquery ajax等等来能做到了
      

  2.   


    服务端要有一个处理'公开'和'未公开'的页面,假设像以下这个 demo.php
    <?php 
    if ($_GET['pub'] != 0) {
        // 处理公开的代码
        $status = 1;   // TODO 返回给客户端,处理的结果
    } else {
        // 处理未公开的代码
        $status = 1;   // TODO 返回给客户端,处理的结果
    }// 返回给客户端一个 JSON 字符串,包含处理结果信息
    exit( json_encode( array ('status' => $status ) ));
    那么,请求 demo.php?pub=1 代表公开,
    请求 demo.php?pub=0 代表不公开,--------------------------------------------------------------------
    再说 HTML 页面, 需要引入 jquery 库, 百度一下, 有下载
    其实关键就是 $.get() 这个函数的用法<!-- 引入 jquery 库 -->
    <script type="text/javascript" src="jquery.js"></script><script type="text/javascript">
    // 处理公开, 不公开的脚本
    // uid 谁
    // is_pub 是否公开 (true or false)
    // btn 按钮节点
    function DoPub (uid, is_pub, btn) {
        var queryData = {
            uid: uid,
            pub: is_pub ? 1 : 0
        };
        
        // 向服务端发起请求
        $.get ('demo.php', queryData, function (data) {
            if (data.status != 0) { // 如果处理成功
                // 切换按钮的文字, 与点击事件
                btn.innerHTML = is_pub ? '公开' : '未公开';
                btn.onclick = function (event) {
                    DoPub(uid, ! is_pub, btn);
                };
            } else alert('处理失败!');
        }, 'json');
    }
    </script><!-- 假设页面上只有这一个按钮, 处理 uid=1 的公开与否 -->
    <a href="javascript:void(0);" onclick="DoPub(1, true, this)">未公开</a>
      

  3.   

    猜测楼主应该没有用过 jquery 吧?可以先学习 javascript 基础,
    再学习 jquery API, 深夜打字不容易, 记得给分