My Code Snippet

本文介绍了使用JavaScript实现动态加载菜单的方法及分页功能的实现细节。通过递归构建DOM节点来展示菜单项,并实现了一个灵活的分页系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 加载菜单(js)

function mkmenu(menus,name,id,parentid,url)
{
    $.each(menus,function(i){
        menus[i].children=new Array();
        menus[i].parent=-1;
    });
    $.each(menus,function(i){
        var pid=menus[i][parentid];
        $.each(menus,function(j){
            if(menus[j][id]==pid)
            {
                menus[j].children.push(i);
                menus[i].parent=j;
                return;
            }
        });
    });


    var root={};
    root.node=$('<div></div>');
    root.children=new Array();


    $.each(menus,function(i){
        if(menus[i].parent==-1){root.children.push(i);}
        var tmp=$('<li></li>');
        if(menus[i][url]=='')tmp.html(menus[i][name]);
        else{
            $("<a></a>").attr('href',menus[i][url]).appendTo(tmp).html(menus[i][name]);
        }
        menus[i].node=tmp;
        
    });
    function addchildren(parent)
    {
        $("<ul></ul>").appendTo(parent.node);
        $.each(parent.children,function(i){

            if(menus[parent.children[i]].children.length>0)addchildren(menus[parent.children[i]]);
            menus[parent.children[i]].node.appendTo(parent.node.children('ul'));
        });
    }
    addchildren(root);
    root.node.appendTo('body');
}

显示分页(js)

function pagination(total,curpage)
{
    if(total<0)return "";
    if(curpage<0 || curpage>total)return "";
    var atag=$('<a></a>');
    var spantag=$('<span></span>');
    var left="";
    var right="";
    if(curpage>7)
    {
        left="<a href='?p="+(curpage-1).toString()+"'><span></span></a><a href='?p=1'><span>1</span></a>...";
        for(var i=0;i<5;i++)
        {
            left+="<a href='?p="+(curpage-5+i).toString()+"'><span>"+(curpage-5+i).toString()+"</span></a>";
        }
    }
    else
    {
        
        if(curpage==1)
        {
            left="<a href='#'><span></span></a>";
        }
        else
        {    
            left="<a href='?p="+(curpage-1).toString()+"'><span></span></a>";
            for(var i=0;i<curpage-1;i++)
            {
                left+="<a href='?p="+(i+1).toString()+"'><span>"+(i+1).toString()+"</span></a>";
            }
        }
    }

    if(curpage>(total-7))
    {
        if(curpage==total)
        {
            right="<a href='#'><span></span></a>";
        }
        else
        {
            for(var i=curpage+1;i<total+1;i++)
            {
                right+="<a href='?p="+i.toString()+"'><span>"+(i).toString()+"</span></a>";
            }
            right+="<a href='?p="+(curpage+1).toString()+"'><span></span></a>";
        }
    }
    else
    {
        for(var i=curpage+1;i<curpage+6;i++)
        {
            right+="<a href='?p="+i.toString()+"'><span>"+(i).toString()+"</span></a>";
        }
        right+="...<a href='?p="+total.toString()+"'><span>"+total.toString()+"</span></a><a href='?p="+(curpage+1).toString()+"'><span></span></a>"
    }

    return left+"<a href='?p="+curpage.toString()+"'><span class='curpage'>"+curpage.toString()+"</span></a>"+right;
}

生成表格(PHP)

function mktable($array,$alias,$rows,$pk,$operations=['edit'=>'编辑','del' => '删除'],$url_prefix="",$op=true,$filter=true,$chkbox=true,$bottom=true)
{

   echo "<table>";
   if($filter)
   {
    echo "<tr class='tbmng'>";
    echo "<td colspan='0'>通用操作</td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td colspan='0' id='tbmng'></td>";
    echo "</tr>";
   }
   
   echo "<tr class='tbhead'>";
   if($chkbox)echo "<td><input type='checkbox' value='1'></td>";
   foreach ($alias as $key => $value) {
        echo "<td>".$value."</td>";
   }

   if($op)echo "<td>".'操作'."</td>";
   echo "</tr>";
   for($i=0;$i<count($array);$i++)
   {
        echo "<tr>";
        if($chkbox)echo "<td><input type='checkbox' value='1'></td>";
        foreach ($alias as $key => $value) {
            echo "<td>".$array[$i][$key]."</td>";
        }
        if($op)
        {
            echo "<td>";
            foreach($operations as $key=>$value)
            {
                echo "<a href='".$url_prefix.$key.'/'.$array[$i][$pk]."'>".$value;
                echo "</a>";
            }
            echo "</td>";
        }
        echo "</tr>";
   }
   
   echo "</table>";
   echo "<div>共<span></span>条记录,显示第<span></span>/<span></span>页</div>";

}

 

转载于:https://www.cnblogs.com/sky-view/p/4198129.html

### Visual Studio Code 启用和配置代码自动补全 在开发过程中,代码自动补全是提高编码效率的重要特性之一。对于 Python 开发者来说,在 Visual Studio Code (VS Code) 中可以通过多种方式来增强和完善这一功能。 #### 安装必要的扩展 为了获得更好的代码提示体验,建议安装一些专门针对 Python 的扩展程序。最常用的当属 Microsoft 提供的官方 Python 扩展[^2]: ```bash ext install ms-python.python ``` 该扩展不仅提供了基础的语言支持,还集成了 IntelliSense 功能——这是 VS Code 自带的强大智能感知服务,能够提供参数信息、函数签名帮助以及变量类型的推断等功能。 #### 配置 settings.json 文件优化补全效果 通过自定义 `settings.json` 可进一步提升代码补全的效果。打开命令面板 (`Ctrl+Shift+P`) 并输入 "Preferences: Open Settings (JSON)" 来编辑此文件。可以添加如下配置项以改进补全行为: - **启用 Jupyter 补全**: 如果经常编写数据科学相关的脚本,则可能希望开启对 Jupyter Notebook 的支持。 ```json { "jupyter.enableNotebookCompletions": true, } ``` - **指定额外的包路径**: 当项目依赖于某些不在标准库中的模块时,告知编辑器这些位置有助于更精确地解析导入语句。 ```json { "python.autoComplete.extraPaths": [ "./my_project/lib" ] } ``` - **调整补全模式**: 设置为 'snippet' 或 'both', 这样可以在触发补全列表的同时显示代码片段选项。 ```json { "editor.suggest.snippetsPreventQuickSuggestions": false, "editor.quickSuggestions": { "other": "on", "comments": "off", "strings": "on" }, "editor.tabCompletion": "onlySnippets" } ``` 以上设置均能有效改善用户的编程环境,使得工作流程更加顺畅高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值