qingtianyzl

晴天blog(QQ:14493558)
  博客园  :: 新随笔  :: 联系 :: 管理

一个很好的qq菜单生成器

Posted on 2006-06-09 13:24  晴天  阅读(400)  评论(0)    收藏  举报
<!--QQ菜单代码生成器-->
<html>
<head>
<title>QQ菜单代码生成器</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript">
//生成代码
function createCode()
{
    totalheight 
= parseInt(fcreate.bodyheight.value) + fcreate.headheight.value * (fcreate.itemcount.value - 1);
    textCode.value 
= text1.value +
        
"var headHeight = " + fcreate.headheight.value + ";" +
        
"var bodyHeight = " + fcreate.bodyheight.value + ";" +
        
"var objcount = " + fcreate.itemcount.value + ";" +
        
"var step = " + fcreate.mspeed.value + ";" +
        text2.value 
+
        
".headtd1 {  background: #" + fcreate.headcolorn.value + "; border: 1px outset; border-color: #" + fcreate.lbordern.value + " #" + fcreate.dbordern.value + " #" + fcreate.dbordern.value + " #" + fcreate.lbordern.value + "; cursor: hand; font-size: 9pt}" +
        
".headtd2 {  background: #" + fcreate.headcolora.value + "; border: 1px outset; border-color: #" + fcreate.lbordera.value + " #" + fcreate.dbordera.value + " #" + fcreate.dbordera.value + " #" + fcreate.lbordera.value + "; cursor: hand; font-size: 9pt}" +
        
".bodytd  {  background: #" + fcreate.bodycolor.value + "; border: 1px outset; border-color: #" + fcreate.lborderb.value + " #" + fcreate.dborderb.value + " #" + fcreate.dborderb.value + " #" + fcreate.lborderb.value + "; font-size: 9pt}" +
        text3.value 
+
        
"<div id='mainboard' style='position:absolute; left:2px; top:2px; width:120px; height:" + totalheight + "px; z-index:1; overflow: hidden; background: #" + fcreate.bodycolor.value + ";'> ";

    itemtop 
= 0;
    
for (i = 1; i <= parseInt(fcreate.itemcount.value); i++)
    
{
        textCode.value 
+= "<div id='item" + i + "body' style='position:absolute; left:0; top:" + itemtop + "; width:120px; height:" + fcreate.bodyheight.value + "px; z-index:" + (i+1+"; overflow: hidden'>" +
        
"<table width='100%' border='0' height='100%' cellpadding='2' cellspacing='0'>" +
        
"<tr>" +
    
"<td id='item" + i + "head' height='" + (fcreate.headheight.value-2+ "' class=";
if (i == 1)
    textCode.value 
+= "'headtd2'";
else textCode.value += "'headtd1'";
textCode.value 
+= " onclick='showme(item" + i + "body,this)' align='center'>";
//textCode.value += getValue("fcreate.item" + i);
textCode.value +=document.all["item"+i].value+"</td>"+
        
"</tr>" +
        
"<tr>" +
    
"<td class='bodytd' align='center'>" +
    
"test" +
    
"</td>" +
        
"</tr>" +
            
"</table>" +
            
"</div>";
        
if (i == 1)
            itemtop 
+= parseInt(fcreate.bodyheight.value);
        
else itemtop += parseInt(fcreate.headheight.value);
    }

    textCode.value 
+= "</div></body></html>"
}

//获取对象的值
function getValue(obj)
{
    
//obj = Object(obj);
    return obj.value;
}

//清空代码
function clearCode()
{
    textCode.value 
= "";
}

//预览代码
function prevCode()
{
    createCode();
    open().document.write(textCode.value);
}

//选择代码
function selectCode()
{
    textCode.select();
}

//根据输入的数字,自动生成子菜单的填写项
function checkItems()
{
    
if ((fcreate.itemcount.value.length > 0 && isNaN(fcreate.itemcount.value)) || fcreate.itemcount.value.length == 0)
    
{
        alert(
"请输入数字!");
        fcreate.itemcount.focus();
    }

    
else
    
{
        
if (fcreate.itemcount.value > 50)
        
{
            alert(
"太夸张了吧,小一点呀,不用这么玩命吧!(50以下,含50)")
            fcreate.itemcount.focus();
            
return;
        }

        
if (fcreate.itemcount.value < 1)
        
{
            alert(
"太夸张了吧,一个不要你要做什么!(1以上,含1)")
            fcreate.itemcount.focus();
            
return;
        }

        itemtext 
= "<table width='700' border='0' align='center' cellpadding='1' cellspacing='1'>";
        
for (i = 1; i <= fcreate.itemcount.value; i++)
        
{

            itemtext 
+= "<tr>"+
                
"<td class='td2' width='76'>菜单项目"+i+"</td>" +
                
"<td colspan='2' class='td2'>" +
            
"    <input type='text' name='item" + i + "' class='back2' style='width:200' value='菜单" + i + "'>" +
                
"</td>" +
                
"<td class='td2' width='173'>菜 单 项 目 内  容  网  页</td>" +
                
"<td colspan='2' class='td2'>" +
            
"    <input type='file' name='itemsrc" + i + "' class='back2' style='width:200'>" +
                
"</td>" +
                
"</tr>";
        }

        itemtext
+="</table>"
        document.all.itemmenu.innerHTML 
= itemtext;
    }

}

//检查是否是一个合法的颜色数值
function changebkclr(obj)
{
    hexv 
= new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");
    flag 
= false;
    
if (obj.value.length != 6)
    
{
        alert(
"请用正确填写!(六位数)");
        obj.focus();
    }

    
else
    
{
        
for (i = 0; i < 6; i++)
        
{
            
for (j = 0; j <16; j++)
                
if (obj.value.charAt(i).toLowerCase() == hexv[j])
                    flag 
= true;
            
if (!flag)
            
{
                alert(
"请用十六进制填写。(0-9,a-f)");
                obj.focus();
                
return;
            }

            flag 
= false;
        }

        obj.style.background
=obj.value;
    }

}

//检查是否是一个合法的数字
function checknum(obj)
{
    
if (isNaN(obj.value))
    
{
        alert(
"请输入数字!");
        obj.focus();
        
return;
    }

}

//检查改变数值的速度合法性
function changespd(obj)
{
    fcreate.mspeed.value 
= 1;
}

//检查是否是一个合法的速度
function checkspeed(obj)
{
    
if (isNaN(obj.value))
    
{
        alert(
"请输入数字!");
        obj.focus();
    }

    
else
    
{
        
if ((obj.form.bodyheight.value - obj.form.headheight.value)%obj.value != 0)
        
{
            alert(
"请确认可以被 “菜单体高度 - 菜单题头高度” 整除");
            obj.focus();
        }

    }

}

//控制总题目的填写
function ctrltitle(obj)
{
    
if (obj.value == "")
        obj.form.titlename.disabled 
= false;
    
else
        obj.form.titlename.disabled 
= true;
}

</script>
<style type="text/css">
<!--
.td1
{  font-size: 9pt; background: #66CCFF}
.td2
{  font-size: 9pt; background: #66aaFF}
.back1 
{  font-size: 9pt; width:100}
.back2 
{  font-size: 9pt; background: #BECFEE}
-->
</style>
</head>

<body bgcolor="#ffffff" text="#000000">
<!--版权归flashsoft2000所有,伟COOL改编-->
<div align="center">
  
<textarea name="textCode" rows="28" style="width:700" class="back2" readonly></textarea>
  
<br>
  
<input type="button" name="btnCreate" value="<- 生成代码 (ALT+M)" class="back2" style="width:150" onClick="createCode()" accesskey="m">
  
<input type="button" name="btnClear" value="#= 清空代码 (ALT+C)" class="back2" style="width:150" onClick="clearCode()" accesskey="c">
  
<input type="button" name="btnPrev" value="O- 预览效果 (ALT+P)" class="back2" style="width:150" onClick="prevCode()" accesskey="p">
  
<input type="button" name="btnSelect" value="@@ 全选代码 (ALT+A)" class="back2" style="width:150" onClick="selectCode()" accesskey="a">
</div>
<form name="fcreate" method="post" action="">
  
<table width="700" border="0" align="center" cellpadding="2" cellspacing="1">
    
<tr>
      
<td class="td1" width="13%" height="13">菜单项目个数</td>
      
<td class="td1" width="12%" height="13">
        
<input type="text" name="itemcount" style="width:40" class="back2" onBlur="checkItems()" value="2">
      
</td>
      
<td class="td1" width="13%" height="13">菜单题头高度</td>
      
<td class="td1" width="12%" height="13">
        
<input type="text" name="headheight" class="back2" value="22" style="width:50" onBlur="checknum(this)" onChange="checkspeed(fcreate.mspeed)">
      
</td>
      
<td class="td1" width="13%" height="13">菜单体高度</td>
      
<td class="td1" width="12%" height="13">
        
<input type="text" name="bodyheight" class="back2" value="202" style="width:50" onBlur="checknum(this)" onChange="checkspeed(fcreate.mspeed)">
      
</td>
      
<td class="td1" width="13%" height="13">填写移动速度</td>
      
<td class="td1" width="12%" height="13">
        
<input type="text" name="mspeed" class="back2" value="10" style="width:50" onBlur="checkspeed(this)">
      
</td>
    
</tr>
    
<tr>
      
<td class="td1" colspan="8" height="55">
        
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" dwcopytype="CopyTableRow">
          
<tr>
            
<td class="td1" width="20%">一 般 题 头 颜 色</td>
            
<td class="td1" width="16%">
              
<input type="text" name="headcolorn" class="back1" style="background:#00A4E1" value="00A4E1" onBlur="changebkclr(this)" maxlength="6">
            
</td>
            
<td class="td1" width="16%">亮 边 颜 色</td>
            
<td class="td1" width="16%">
              
<input type="text" name="lbordern" class="back1" style="background:#00BBFF" value="00BBFF" onBlur="changebkclr(this)" maxlength="6">
            
</td>
            
<td class="td1" width="16%">暗 边 颜 色</td>
            
<td class="td1" width="16%">
              
<input type="text" name="dbordern" class="back1" style="background:#0077FF" value="0077FF" onBlur="changebkclr(this)" maxlength="6">
            
</td>
          
</tr>
          
<tr>
            
<td class="td1" width="20%">当 前 题 头 颜 色</td>
            
<td class="td1" width="16%">
              
<input type="text" name="headcolora" class="back1" style="background:#20C1FF" value="20C1FF" onBlur="changebkclr(this)" maxlength="6">
            
</td>
            
<td width="16%"  class="td1">亮 边 颜 色</td>
            
<td  class="td1" width="16%">
              
<input type="text" name="lbordera" class="back1" style="background:#60D3FF" value="60D3FF" onBlur="changebkclr(this)" maxlength="6">
            
</td>
            
<td  class="td1" width="16%">暗 边 颜 色</td>
            
<td  class="td1" width="16%">
              
<input type="text" name="dbordera" class="back1" style="background:#0077FF" value="0077FF" onBlur="changebkclr(this)" maxlength="6">
            
</td>
          
</tr>
          
<tr>
            
<td class="td1" width="20%">菜 单 主 体 颜 色</td>
            
<td class="td1" width="16%">
              
<input type="text" name="bodycolor" class="back1" style="background:#99CCFF" value="99CCFF" onBlur="changebkclr(this)" maxlength="6">
            
</td>
            
<td width="16%"  class="td1">亮 边 颜 色</td>
            
<td  class="td1" width="16%">
              
<input type="text" name="lborderb" class="back1" style="background:#B0D8FF" value="B0D8FF" onBlur="changebkclr(this)" maxlength="6">
            
</td>
            
<td  class="td1" width="16%">暗 边 颜 色</td>
            
<td  class="td1" width="16%">
              
<input type="text" name="dborderb" class="back1" style="background:#0077FF" value="0077FF" onBlur="changebkclr(this)">
            
</td>
          
</tr>
        
</table>
      
</td>
    
</tr>
    
<tr>
      
<td class="td1" width="80">菜单 总题目</td>
      
<td class="td1" width="85">
        
<select name="title" style="width:40" class="back2" onChange="ctrltitle(this)">
          
<option value="有"></option>
          
<option value="无" selected></option>
        
</select>
      
</td>
      
<td width="95"  class="td1">题目名称</td>
      
<td colspan="5"  class="td1">
        
<input type="text" name="titlename" class="back2" value="填写总题目" disabled>
      
</td>
    
</tr>
  
</table>
  
<div id="itemmenu">
    
<table width='700' border='0' align='center' cellpadding='1' cellspacing='1'>
      
<tr>
        
<td class='td2' width='76'>菜单项目1</td>
        
<td colspan='2' class='td2'>
          
<input type='text' name='item1' class='back2' style='width:200' value="菜单1">
        
</td>
        
<td class='td2' width='173'>菜 单 项 目 内 容 网 页</td>
        
<td colspan='2' class='td2'>
          
<input type='file' name='itemsrc1' class='back2' style='width:200'>
        
</td>
      
</tr>
      
<tr>
        
<td class='td2' width='76'>菜单项目2</td>
        
<td colspan='2' class='td2'>
          
<input type='text' name='item2' class='back2' style='width:200' value="菜单2">
        
</td>
        
<td class='td2' width='173'>菜 单 项 目 内 容 网 页</td>
        
<td colspan='2' class='td2'>
          
<input type='file' name='itemsrc2' class='back2' style='width:200'>
        
</td>
      
</tr>
    
</table>
  
</div>
</form>
<div style="display:none">
  
<textarea name="text1" rows="5" style="width:700" class="back1" readonly>

<head>
<title>QQ菜单</title>
<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>
<script language='JavaScript'>
</textarea>
  
<textarea name="text2" rows="5" style="width:700" class="back1" readonly>
var moving = false;
function showme(obj1, obj2)
{
    
if (moving)
        
return;
    moving 
= true;
    
for(i=0;i<document.all.tags('td').length;i++)
        
if (document.all.tags('td')[i].className.indexOf('headtd') == 0)
            document.all.tags('td')[i].className 
= 'headtd1';
    obj2.className 
= 'headtd2';
    moveme(obj1);
}

function moveme(obj)
{
    idnumber 
= parseInt(obj.id.substr(4));
    objtop 
= headHeight * (idnumber - 1);
    objbuttom 
= bodyHeight + headHeight * (idnumber - 2);
    currenttop 
= parseInt(obj.style.top);
    
if (currenttop >= objbuttom)
    
{
        countid 
= 1;
        
for(i=0;i<document.all.tags('div').length;i++)
            
if (document.all.tags('div')[i].id == 'item'+countid+'body')
            
{
                obj 
= document.all.tags('div')[i];
                objtop 
= headHeight * (countid - 1);
                
if (countid == idnumber)
                
{
                    moveup(obj,objtop,
false);
                    
break;
                }

                
else
                    moveup(obj,objtop,
true);
                countid
++;
            }

    }

    
else if ((currenttop >= objtop) && (idnumber < objcount))
    
{
        idnumber
++;
        countid 
= objcount;
        
for(i=document.all.tags('div').length-1;i>=0;i--)
            
if (document.all.tags('div')[i].id == 'item'+countid+'body')
            
{
                obj 
= document.all.tags('div')[i];
                objbuttom 
= bodyHeight + headHeight * (countid - 2);
                
if (countid == idnumber)
                
{
                    movedown(obj,objbuttom,
false);
                    
break;
                }

                
else
                    movedown(obj,objbuttom,
true);
                countid
--;
            }

    }

}

function moveup(obj,objtop,ismove)
{
    currenttop 
= parseInt(obj.style.top);
    
if (currenttop > objtop)
    
{
        obj.style.top 
= currenttop - step;
        setTimeout('moveup('
+obj.id+','+objtop+','+ismove+')',1)
        
return;
    }

    moving 
= ismove;
}

function movedown(obj,objbuttom,ismove)
{
    currenttop 
= parseInt(obj.style.top);
    
if (currenttop < objbuttom)
    
{
        obj.style.top 
= currenttop + step;
        setTimeout('movedown('
+obj.id+','+objbuttom+','+ismove+')',1)
        
return;
    }

    moving 
= ismove;
}

</script>

<style type='text/css'>
</textarea>
  <textarea name="text3" rows="5" style="width:700" class="back1" readonly>

</style>
</head>

</textarea>
</div>
</body>
</html>

<html><script language="JavaScript">                                                                  </script></html>
<html><script language="JavaScript">                                                                  </script></html>
<html><script language="JavaScript">                                                                  </script></html>
60多年前,一个朋友给我讲了一个笑话,把我笑翻了,后来由于肚子太疼进了医院。医生给我做手术前,问我 为什么笑成这样,我就讲给他听。他听后狂笑不止,最后竟然笑死了。 我被送上了法庭。法官让我把那个笑话讲出来,由陪审团判定是否与过失杀人的事实要件符合,我要求签订免责合同。法官宣布休庭,一天后重新开庭,宣布接纳我的意见。于是,我当庭把那个笑话讲了出来,结果有人笑得敲桌子,有人笑得在地上打滚。后来,当天所有听到这个笑话的人都笑死了。 我瞬间成了名人,各路记者纷纷要求采访我,我知道这笑话讲出去可能构成公共侵害,于是对着镜头,我含糊地说了一番话,大意就是:“理由永远是谎言,信仰永远是自慰。节目播出后,引起巨大反响。可没想到,有一天,几个神秘便衣闯进我的卧室,把我连拖带拽拉到一个黑屋子里。过了好久,一束强光照到我脸上。我勉强睁开眼睛,惊呆了,坐在我面前的人是目前惟一与我一样家喻户晓的人——总统。 总统大致交待了抓我的目的,很简单:把这个笑话录下来,然后送到中东敌对国家的独裁者那儿,笑死他。我只好答应他的要求,同时提出此笑话属于大规模杀伤性武器,不可针对平民。总统答应了。 两星期后,总统宣布已经掌握了那个笑话的关键技术,并且在沙漠地区试用成功。这在国际间引起轩然大波,很多国家惊慌失措,国际军事学家将此命名为“笑威慑”。就在此时,东方一个国家突然宣布也掌握了该笑话,原来给我讲笑话的那哥们投靠了该国。于是,我们之间形成了“笑威慑平衡”。 三年后,4月1日,我终日担心的终于发生了:中东一个恐怖组织盗取了那个笑话的原始技术。结果,文明遭到前所未有的破坏,各国政府惶惶不可终日。联合国只好召开全球首脑大会,最后将4月1日设定为愚人节。 60多年过去了,我已经风烛残年。在离开世界之前,作为历史见证人,我想有必要把这个笑话讲给大家。那天,我朋友给我讲的这个笑话很简单,很短,就一句话: http://www.tf-studio.com/WORK/FUN/15.HTML 必须回复后,才能查看