当前位置: 代码迷 >> JavaScript >> 【Happy New Year】请用函数讲话!(有免费好礼)解决方法
  详细解决方案

【Happy New Year】请用函数讲话!(有免费好礼)解决方法

热度:449   发布时间:2012-02-25 10:01:48.0
【Happy New Year】请用函数讲话!(有免费好礼)
技术区当然不能灌水,要不斑竹会

1 有效回复才能送分(每个5-20分不等)!

2 什么是有效回复?
答:有效回复是一段用 js 编写的小函数,该小函数要求是
a) 函数功能明确而实用;
b) 可直接运行,无需引用任何脚本框架;
c) 至少 IE、FF 下测试通过;
d) 有效代码行(除空行以外的代码行和注释行)不超过 50 行;
e) 注释详尽,必须说明函数功能、参数、返回值!
满足以上要求方为有效的小函数,才能送分!

3 什么时候结贴?
答:分一送完就结贴,如果还没放假就再开一贴继续送 300!

4 免费好礼在哪里?
答:送给 Web 开发初学者的礼物!(已经取消资源分)

Web 开发常用手册

JScript语言参考.rar
http://download.csdn.net/source/308916

DHTML参考手册.rar
http://download.csdn.net/source/308913

样式表中文手册.chm
http://download.csdn.net/source/304124


------解决方案--------------------
JScript code

    //获取当前url参数的值
    var getQueryStringRegExp = function(name){     
        var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(\\s|&|$)", "i");      
        if (reg.test(location.href)) 
            return unescape(RegExp.$2.replace(/\+/g, " ")); 
        return "";
    };

------解决方案--------------------
JScript code
//时间秒数格式化,s为秒数,返回值t格式为:HH:MM:SS
function timer_format(s) {
var t;
if(s > -1){
    hour = Math.floor(s/3600);
    min = Math.floor(s/60) % 60;
    sec = s % 60;
    day = parseInt(hour / 24);
    if (day > 0) {
        hour = hour - 24 * day;
        t = day + "day " + hour + ":";
        }
    else t = hour + ":";   
    if(min < 10){t += "0";}
        t += min + ":";
    if(sec < 10){t += "0";}
        t += sec;
}else
    t = " OK ";
return t;
}

------解决方案--------------------
HTML code
<html>
<head>
<title>菜单</title>
</head>
<style type="text/css">
.box{ font: 9pt "Comic Sans MS"; position: absolute;  background:pink }
</style>
<body>
<p align="center"></a> </p>
<div align="center"><center>
<table id="itemopen" class="box" style="display:none">
  <tr>
    <td>弹出菜单</td>
  </tr>
  <tr>
    <td><a href="#">Cut</a></td>
  </tr>
</table>
</center></div><!-- End of Popup Menu  -->
<script language="JavaScript">
document.onclick = popUp
function popUp(evt) {
evt = evt ? evt : (window.event ? window.event : null);
var mX = evt.x ? evt.x : evt.pageX;
var mY = evt.y ? evt.y : evt.pageY;
newX = mX + document.body.scrollLeft;
newY = ((mY)*(-1) + document.body.scrollTop)*(-1);
menu = document.getElementById('itemopen');
  if ( menu.style.display == ""){
    menu.style.display = "none" 
  }
  else {
     menu.style.display = ""
  }
  if(navigator.appName.indexOf("Explorer") > -1){//IE
    menu.style.pixelLeft = newX+8;
    menu.style.pixelTop = newY-5;
  }else{
    menu.style.left = parseInt(newX)+10+"px";
    menu.style.top = parseInt(newY)-5+"px";
  }
}
</script>
<a href="#" onclick="popUp(event);"><font color="blue">在任意位置单击鼠标左键看看</font></a>
</body>
</html>

------解决方案--------------------
重在接分。
JScript code
/// <summary>格式化字符串</summary>
/// <param name="template">字符模板</param>
/// <param name="json">参数对象</param>
/// <returns>返回格式化的字符</returns>
/// <example>
/// document.write(jsonFormat('<a href="${url}" mce_href="${url}" target="_blank">${text}</a><br/>', { text: "人肉搜索", url: "http://renrousousuo.com" }));
/// </example>
function jsonFormat(template, json) {  
    return template.replace(/\$\{(.+?)\}/g, function ($, $1) {  
        return json[$1];  
        });  
}  

/// <summary>格式化字符串</summary>
/// <param name="template">字符模板</param>
/// <param name="...">参数列表</param>
/// <returns>返回格式化的字符</returns>
/// <example>
/// document.write(strFormat("<b>{0}</b> <i>{1}</i>!", "zswang", "路过")) 
/// </example>
function strFormat(template/*, ...*/) {  
    var arg = arguments;  
    return template.replace(/\{(\d+)\}/g, function ($, $1) {  
        return arg[+$1 + 1];  
        });  
}
 
  相关解决方案