Yimin

If not now,when? If not me, who?
posts - 5, comments - 23, trackbacks - 0, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

2010年4月26日

闲暇之余给公司做了个内衣尺码测量页面,其中涉及到内衣尺码各阶段判断,由于不涉及到数据库,所以代码直接用javascript来写,现贴上JS代码供 友友们讨论,看是否能优化下代码,让执行效率更高点。  内衣尺码测量页面
代码
<script type="text/javascript" language="javascript">
    
function braSize_onClick(){                                        //内衣尺码测量函数
        
var numUp = document.getElementById("numUp").value;
        
var numDown = document.getElementById("numDown").value;
        
var result = numUp - numDown;
        
if(numDown != "" && numUp != ""){
            
if(numDown < 68 || numDown > 92){alert("对不起,您的下围尺码不在测量范围内,请重输。");}
            
else if(numDown < 73){document.getElementById("braSize").value = 70}
            
else if(numDown < 78){document.getElementById("braSize").value = 75}
            
else if(numDown < 83){document.getElementById("braSize").value = 80}
            
else if(numDown < 88){document.getElementById("braSize").value = 85}
            
else if(numDown < 93){document.getElementById("braSize").value = 90}
            
            
if(result < 6 || result > 21){alert("对不起,没有适合您的罩杯!");}
            
else if(result < 8){document.getElementById("braClass").value = "AA"}
            
else if(result < 10){document.getElementById("braClass").value = "A"}
            
else if(result < 13.5){document.getElementById("braClass").value = "B"}
            
else if(result < 16){document.getElementById("braClass").value = "C"}
            
else if(result < 20){document.getElementById("braClass").value = "D"}
            }
        }
        
    
function underwearSize_onClick(){                                          //内裤尺码测量函数
        
var waistSize = document.getElementById("waistSize").value;
        
var hipSize = document.getElementById("hipSize").value;
        
if(waistSize != "" && hipSize != ""){
            
if(waistSize < 58 || waistSize > 83 || hipSize < 79 || hipSize > 103){alert("对不起!没有适合您的尺码。请重输");}
            
if(waistSize >=58 && waistSize <=63){if(hipSize>=79 && hipSize<=89) document.getElementById("underwearSize").value = "S";}
            
if(waistSize >=63 && waistSize <=68){if(hipSize>=83 && hipSize<=93) document.getElementById("underwearSize").value = "M";}
            
if(waistSize >=68 && waistSize <=73){if(hipSize>=86 && hipSize<=96) document.getElementById("underwearSize").value = "L";}
            
if(waistSize >=73 && waistSize <=78){if(hipSize>=89 && hipSize<=99) document.getElementById("underwearSize").value = "XL";}
            
if(waistSize >=78 && waistSize <=83){if(hipSize>=91 && hipSize<=103) document.getElementById("underwearSize").value = "XXL";}
            }
        }
</script>

 

 

posted @ 2010-04-26 14:13 Yimin 阅读(77) 评论(0) 编辑

2010年1月16日

    网上好多屏蔽flash右键的方法,可多数是过期的或不合适的,现记录下用JS方法屏蔽flash右键相关版权信息。

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Yimin</title>
<script type="text/javascript">
function NoRightClick(pid){//pid:flash's parentNode id
 
var el = document.getElementById(pid);
 
if(el.addEventListener){
 
el.addEventListener("mousedown",function(event){
  
if(event.button == 2){
    
event.stopPropagation(); //for firefox
    
event.preventDefault()//for chrome
  
}
 
},true);
 
}else{
 
el.attachEvent("onmousedown",function(){
  
if(event.button == 2){
    
el.setCapture();
  
}
 
});
 
el.attachEvent("onmouseup",function(){
  
el.releaseCapture();
 
});
 
el.oncontextmenu = function(){
  
return false;
 
};
 
}
};
</script>
</head>
<body>
 
<div id="testContent" style="width:800px">
<embed id="t1" height="780px" width="750" pluginspage="http://www.adobe.com/go/getflashplayer" wmode="opaque" menu="false" allowscriptaccess="sameDomain" algin="middle" name="t1" quality="high" bgcolor="#000000" src="test.swf" type="application/x-shockwave-flash"/>
 
</div>
 
<script type="text/javascript">
  var so = new SWFObject("test.swf", "t1", "800", "550", "9", "#000000");
  so.addParam("quality", "high");
  so.addParam("name", "t1");
  so.addParam("id", "t1");
  so.addParam("algin", "middle");
  so.addParam("AllowScriptAccess", "sameDomain");
  so.addParam("menu", "false");
  so.addParam("wmode", "opaque");
  so.addParam("pluginspage", "http://www.adobe.com/go/getflashplayer");
  so.write("testContent");
 
  NoRightClick("testContent");
 
</script>
</body>

经过试验,该代码可以在IE、Firefox和Google Chrome里去掉flash的右键菜单,还是挺方便的。  

posted @ 2010-01-16 11:01 Yimin 阅读(516) 评论(0) 编辑

2009年12月8日

    公司正筹划上ERP,由我全权负责,公司员工不足500人,服装生产行业,从订单到结算一整个流程,其中特别要求要能够计算所下订单的所需材料用量。我看了一下,于其说是ERP,不如说是供应链管理系统(SCM),因为公司里的员工一般是身兼数职的,分工不是太明确,上ERP有点是拖拉机上波音747。同为技术人员,就来这里问问看,也听听大家的意见,哪家的系统合适,也可购买,公司自己在当地问了一款。本人要求,B/S 模式的系统,数据库MSSQL,程序最好是.net,本人不才,只会这些(为了今后管理方便),呵呵。欢迎大家踊跃发表意见,或自己手头上有的话请把相关资料和联系方式发到本人邮箱,如有意向,会择优联系。临时邮箱:350807@163.com

posted @ 2009-12-08 10:40 Yimin 阅读(404) 评论(6) 编辑

2009年7月9日

    CSS用了这么久居然被一个小问题给卡牢了,研究了半天终于解决,特在此留下脚印,希望遇到相同问题的友友们少走弯路。

       容器要求高度随浏览器的变化而自适应填充(不用JS),仅仅用CSS完成的高度自适应方法:

Html代码示例:
<div class="test"></div>


Css代码:
body{height:100%;overflow:hidden;}
.test{height:100%;}

很少给body设定高度,没想到还有这么个用处,overflow:hidden;根据情况而定

posted @ 2009-07-09 14:56 Yimin 阅读(1706) 评论(6) 编辑

2009年6月30日

    今天看了以前做的一个小项目,居然发现了一个bug,项目是jquery+ashx+html做的,一个服务器控件都不用,前台与后台的数据交互用了jquery中的getJSON()方法,读取数据,当更改提交后,发现页面上的数据没跟着变动,不管页面怎么刷新,问题依旧,只有在新窗口打开时才更新。

    经反复测试无果后,赶忙“google”,看了一堆文章,隐隐约约说到点点子上,但都没提出很好的解决方法,原来数据被IE缓存了,有的说给getJSON加个时间戳,后来为这个问题查了下书籍,原来getJSON是jquery数据交互中的第三层,最底层就是$.ajax(),$.ajax()中有个cache参数,将其改为false,就能解决上述问题。

 

$.ajax()的参数列表:

参数名 类型 描述
url String (默认: 当前页地址) 发送请求的地址。
type String (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET"。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。
timeout Number 设置请求超时时间(毫秒)。此设置将覆盖全局设置。
async Boolean (默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
beforeSend Function 发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。XMLHttpRequest 对象是唯一的参数。
function (XMLHttpRequest) {
this; // the options for this ajax request }
cache Boolean (默认: true) jQuery 1.2 新功能,设置为 false 将不会从浏览器缓存中加载请求信息。
complete Function 请求完成后回调函数 (请求成功或失败时均调用)。参数: XMLHttpRequest 对象,成功信息字符串。
function (XMLHttpRequest, textStatus) {
this; // the options for this ajax request }
contentType String (默认: "application/x-www-form-urlencoded") 发送信息至服务器时内容编码类型。默认值适合大多数应用场合。
data Object,
String
发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'。
dataType String

预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息返回 responseXML 或 responseText,并作为回调函数参数传递,可用值:

"xml": 返回 XML 文档,可用 jQuery 处理。

"html": 返回纯文本 HTML 信息;包含 script 元素。

"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。

"json": 返回 JSON 数据 。

"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。

error Function (默认: 自动判断 (xml 或 html)) 请求失败时将调用此方法。这个方法有三个参数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。
function (XMLHttpRequest, textStatus, errorThrown) {
// 通常情况下textStatus和errorThown只有其中一个有值 this; // the options for this ajax request }
global Boolean (默认: true) 是否触发全局 AJAX 事件。设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 。可用于控制不同的Ajax事件
ifModified Boolean (默认: false) 仅在服务器数据改变时获取新数据。使用 HTTP 包 Last-Modified 头信息判断。
processData Boolean (默认: true) 默认情况下,发送的数据将被转换为对象(技术上讲并非字符串) 以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。
success Function 请求成功后回调函数。这个方法有两个参数:服务器返回数据,返回状态
function (data, textStatus) {
// data could be xmlDoc, jsonObj, html, text, etc... this; // the options for this ajax request }

 

posted @ 2009-06-30 14:40 Yimin 阅读(7128) 评论(11) 编辑