Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[疑问] 一个就js代码问题

[复制链接]
yu_er 发表于 2009-5-27 15:47:14 | 显示全部楼层 |阅读模式
include/js/admin.js 这个文件,最后有这样一个函数

function cpmenus(id) {
       
        for(i=0; i<9; i++) {
                if($('menus_'+i) != null) {
                        $('menus_'+i).style.display = id == -1 || i==id ? '': 'none';
                }
        }

问一下 $('menus_'+i) 表示什么意思 ?
幸福摩天轮 发表于 2009-5-27 16:07:36 | 显示全部楼层
本帖最后由 幸福摩天轮 于 2009-5-27 16:10 编辑

$(obj) 这个函数呢就是获得网页中 ID 为 obj 的元件,相当于 document.getElementById(obj);

比如:
<div id="testDiv">asdfasdf</div>

那么$("testDiv") 就会得到这个层。相当于 document.getElementById("testDiv");

上面的函数的意思就是通过一个for循环设置 menus_0 ,menus_1,menus_2.....menus_8 这几个的显示属性(menus_0 。。。menus_8 可能是 div ,也可能是 li ,通过设置display,就能控制他们显示还是隐藏)。
回复

使用道具 举报

 楼主| yu_er 发表于 2009-5-27 16:25:42 | 显示全部楼层
错误: $("menus_" + i).style is undefined
源文件:http://192.168.1.103/supersite//include/js/admin.js
行:590

我在菜单中加了一个模块,就一直出现这个错误是什么原因呢?程序中的数目我都更改过了!
回复

使用道具 举报

幸福摩天轮 发表于 2009-5-27 16:50:44 | 显示全部楼层
加的话,一定注意 menus_ 后面的数字一定是 0-8 ,如果增加了,或删除了,要把
for(i=0; i<9; i++) {
做相应修改,比如 你去掉了 一个 menus_5 ,这个程序执行到 i=5 的时候,因为没有 menus_5,
所以 js 就得不到那个标签,就出错了。
回复

使用道具 举报

 楼主| yu_er 发表于 2009-5-27 17:08:44 | 显示全部楼层
我在最后加了一个 ,9改成 10了 ,还是有问题 ,
结果我把$() 改为 document.getElementById('menus_'+i);这种形式就可以了,不 知道是为什么 ?
回复

使用道具 举报

幸福摩天轮 发表于 2009-5-27 17:11:27 | 显示全部楼层
$("") 函数是在 别的 js 文件中定义的,可能是没有包含那个文件吧。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-26 00:10 , Processed in 0.022350 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表