js杂技-1

 

一、日期写法:

<td height="51" align="center" background="images/zbb_2.jpg" class="zb">
     <script type="text/javascript">
	   var d=new Date();
	   var week="";
	   switch(d.getDay()){
	   case 0:week="日";break;
	   case 1:week="一";break;
	   case 2:week="二";break;
	   case 3:week="三";break;
	   case 4:week="四";break;
	   case 5:week="五";break;
	   case 6:week="六";break;
	  }
	 document.write(d.getFullYear()+"年"+(d.getMonth()+1)+"月"+d.getDate()+"日"+" 星期"+week);
     </script>
 </td>

 

 

二、在页面直接输出日期的一种写法

 <script>  
             //输出一次  
             document.getElementById('time').innerHTML=new Date().toLocaleString();  
             //每隔一秒调刷新一次  
             setInterval("document.getElementById('time').innerHTML= '当前时间:' + new Date().toLocaleString();",1000);  
    </script> 

 

 

 

三、js跳转传值

1、用js提交
  <script type="text/javascript">
	function goPage(obj){	
		location.replace("/zhiban.do?action=select&page=" + obj.value);
	}
  </script>
  说名:
    1、用js提交表单数据必须全部以参数的形式传递

2、让<a>标签单击之后不动代码:
   <a href="javascript:void(0)">fsafs</a>

 

 

四、打开页面的属性

 

window.open('page.html','','height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no')

===================各项参数============
其中yes/no也可使用1/0;pixel value为具体的数值,单位象素。
参数 | 取值范围 | 说明 
alwaysLowered | yes/no | 指定窗口隐藏在所有窗口之后 
alwaysRaised | yes/no | 指定窗口悬浮在所有窗口之上 
depended | yes/no | 是否和父窗口同时关闭 
directories | yes/no | Nav2和3的目录栏是否可见 
height | pixel value | 窗口高度 
hotkeys | yes/no | 在没菜单栏的窗口中设安全退出热键 
innerHeight | pixel value | 窗口中文档的像素高度 
innerWidth | pixel value | 窗口中文档的像素宽度 
location | yes/no | 位置栏是否可见 
menubar | yes/no | 菜单栏是否可见 
outerHeight | pixel value | 设定窗口(包括装饰边框)的像素高度 
outerWidth | pixel value | 设定窗口(包括装饰边框)的像素宽度 
resizable | yes/no | 窗口大小是否可调整 
screenX | pixel value | 窗口距屏幕左边界的像素长度 
screenY | pixel value | 窗口距屏幕上边界的像素长度 
scrollbars | yes/no | 窗口是否可有滚动栏 
titlebar | yes/no | 窗口题目栏是否可见 
toolbar | yes/no | 窗口工具栏是否可见 
Width | pixel value | 窗口的像素宽度 
z-look | yes/no | 窗口被激活后是否浮在其它窗口之上

 

 

五、document与form

document.forms[0]                   得到页面的第一个表单
document.forms[0].submit();         提交第一个表当的数据

 

    说名:

        1、<form action="" method="get" name="form1"> :form中action为"null"或者为"?"表示提交到本页

 

六、web.xml中欢迎页面的设置

      <welcome-file-list>
           <welcome-file>index.jsp</welcome-file>
           <welcome-file>Login.jsp</welcome-file>
      </welcome-file-list>

     说名:

          1、从上到下查找,先找index.jsp如果没找到在找Longin.jsp如果都没有找到就会出现404错误

 

七、得到selcet选项 下拉的值 赋值给“mzmc”控件
    var v = document.getElementById("mz");
        for(i = 0; i < v.length;i++){
             if(v[i].selected){
                  document.getElementById("mzmc").value = v[i].innerText;
              }
         }

 

 

八、将字符串转化为js对象

   function test(){
                var data = "{\"name1\":\"2013年08月22日 星期四\",\"name2\":\"2013-08-22 10:51:27\",\"obj1\":\"熊敏\",\"obj2\":\"熊敏\"}";
                var d = eval('('+data+')');
                alert(d);
                alert(d.name1);
            }

 

九、关闭窗口免确定的js

          //关闭窗口去提示的方法
          function closeWindow(){
               //去掉关闭窗口的提示
               window.opener = null;
               //这一句是关键
               window.open('','_self');
                window.close();
           }

 

十、获取键盘值

//window.event.keyCode:可以得到键盘值
//当按下回车键时调用
<input type ="button" value = "测试" onkeypress="huice();"/>

function huice(){
   if(window.event.keyCode == 13){
         huicefangfa();
   }
}

 

十一、获取屏幕的宽度和高度的(屏幕分辩率)js

<script language="javascript" type="text/javascript">
  /*将获取的值存到变量里*/
  width_screen=screen.width;
  height_screen=screen.height;
  availWidth_screen=screen.availWidth;
  availHeight_screen=screen.availHeight;
  colorDepth_screen=screen.colorDepth;

   /*输出值*/
  document.write("你的屏幕宽为:"+width_screen+"<br />你的屏幕高为:"+height_screen+"<br />你的屏幕可用宽为:"+availWidth_screen+"<br />你的屏幕可用高为:"+availHeight_screen+"<br />你的颜色设置所有为数为:"+colorDepth_screen);
</script>

 

十二、刷新、关闭open(url)打开的页面

//关闭嵌入父页面的页面
window.opener.parent.close();

//用指定的页面刷新嵌入父页面的页面
window.opener.parent.location.href=url;

//用指定页面刷新父页面
window.opener.location.href=url;

 

十三、js中“==”与“===”的区别

    ”==”与”===”是不同的,一个是判断值是否相等,一个是判断值及类型是否完全相等。
    下面的规则用于判定===运算符比较的两个值是否相等的判断条件
    •如果两个值的类型不同,它们就不相同。
    •如果两个值是数字,而且值相同,那么除非其中一个或两个都是NaN(这种情况它们不是等同的),否则它们是等同的。值NaN永远不会与其他任何值等同,包括它自身(奇怪的家伙),要检测一个值是否是NaN,可以使用全局函数isNaN()。
    •如果两个值都是字符串,而且在串中同一位置上的字符完全相同,那么它们就完全等同。如果字符串的长度或内容不同,它们就不是等同的。
    •如果两个值都是布尔型true,或者两个值都是布尔型false,那么它们等同。
    •如果两个值引用的是同一个对象、数组或函数,那么它们完全等同。如果它们引用的是不同的对象(数组或函数),它们就不完全等同,即使这两个对象具有完全相同的属性,或两个数组具有完全相同的元素。
    •如果两个值都是null或都是undefined,它们完全相同。

<script>
	function eee(){
		var a = true;
    	        var b = 1;
    		alert(a==b);
		alert(a===b);
	}
</script>
    下面的规则用于判定==运算符比较的两个值是否相等的判断条件
    •如果两个值具有相同的类型,那么就检测它们的等同性。如果这两个值完全相同,它们就相等。如果它们不完全相同,则它们不相等。
    •如果两个值的类型不同,它们仍然可能相等。用下面的规则和类型转换来检测它们的相等性 ◦如果一个值是null,另一个值是undefined,它们相等。
    ◦如果一个值是数字,另一个值是字符串,把字符串转换为数字,再用转换后的值进行比较。
    ◦如果一个值为true,将它转化为1,再进行比较。如果一个值为false,把它转化为0,再进行比较。
    ◦如果一个值是对象,另一个值是数字或字符串,将对象转换成原始类型的值,再埋比较。可以使用对象的toString()方法或valueOf()方法把对象转化成原始类型的值。JavaScript核心语言的内部类通常先尝试valueOf()方法转换,再尝试toString()方法转换,但是对于Date类,则先执行toString()方法再执行valueOf()方法转换。不属于JavaScript核心语言的对象则可以采用JavaScript实现定义的方式把自身转换成原始数值。
    ◦其他的数值组合是不相等的。
 
14、调试的时候在调试窗口打印
console.info(r);
 说明:如果是对象的话可以点击,查看属性
 
15、获取项目根目录
//js获取项目根路径,如: http://localhost:8083/uimcardprj
function getRootPath(){
    //获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp
    var curWwwPath=window.document.location.href;
    //获取主机地址之后的目录,如: uimcardprj/share/meun.jsp
    var pathName=window.document.location.pathname;
    var pos=curWwwPath.indexOf(pathName);
    //获取主机地址,如: http://localhost:8083
    var localhostPaht=curWwwPath.substring(0,pos);
    //获取带"/"的项目名,如:/uimcardprj
    var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
    return(localhostPaht+projectName);
}
 
16、js定时循环行和清楚定时对象
function setIntervalTest(){
     //每隔100毫秒执行一次loopExecute方法
     var iId = setInterval(loopExecute,100);
     //清楚setInterval(定时执行对象),iId为setInterval()函数执行时的id
     clearInterval(iId);
}


//给进度条赋值
var jindu = 50;
function loopExecute(){
	if(jindu==90){jindu = 50;}
	$('#jinDuTiao').progressbar('setValue', jindu);
	jindu++; 
}
 
17、登入验证时,iframe嵌入页面跳转需要从父页面跳转
    1、web.xml配置
<!-- 配置登陆验证过滤器 -->
  	<filter>
	  	<filter-name>loginCheckFilter</filter-name>
	  	<filter-class>com.util.filter.LoginCheckFilter</filter-class>
  	</filter>
 	<filter-mapping>
	  	<filter-name>loginCheckFilter</filter-name>
	  	<!-- 过滤的路劲 -->
	  	<url-pattern>/admin/*</url-pattern>
	  	<url-pattern>/yeMian/*</url-pattern>
  	</filter-mapping>
     2、登入验证filter
package com.util.filter;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.entity.User;

/**
 * 判断是否登陆filter
 */
public class LoginCheckFilter implements Filter{
	@Override
	public void destroy() {
		
	}

	@Override
	public void doFilter(ServletRequest req, ServletResponse res,FilterChain chain) throws IOException, ServletException {
		//转换为浏览器对象
		HttpServletRequest request = (HttpServletRequest) req;
		HttpServletResponse response = (HttpServletResponse) res;  
		
		//得到项目跟路径
		String path=request.getContextPath();
		String basePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
		
		//session存入的登入对像
		User user = (User) request.getSession().getAttribute("user");
		
		if(user == null){
			response.sendRedirect(basePath + "loginCheck.jsp");
			return;
		}	
		
		//让请求,继续向下执行
		chain.doFilter(req, res);
	}

	@Override
	public void init(FilterConfig arg0) throws ServletException { 
		
	}
}
     3、跳转页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>		<!-- el表达式 -->
<%@page import="com.entity.User" %>
<%
	//得到项目的跟目录
	String path = request.getContextPath();
	String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
	
	User user = (User)session.getAttribute("user");
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
	<script type="text/javascript" src="<%=basePath%>/common/js/jquery.min.js"></script>
	
	<script type="text/javascript">
		$(function(){
			if(<%=user%> == null){
                                //从父页面的父页面跳转(没有找到父页面就从不页面跳转)
				window.parent.parent.location.href="<%=basePath%>"+"login.jsp";
			}
		});
	</script>
</head>
<body></body>
</html>
   说明:必须引入jquery
17、比较两时间的大小
/**
 * 比较开始时间结束时间的大小
 * activityStartDate 开始日期
 * activityEndDate 结束日期
 */
function checkDate(activityStartDate,activityEndDate) {
	var aDate, oDate1, oDate2, iDays;
	
	aDate = activityStartDate.split("-");
	oDate1 = new Date(aDate[0] + '-' + aDate[1] + '-' + aDate[2]);  //转换为yyyy-MM-dd格式
	aDate = activityEndDate.split("-");
	oDate2 = new Date(aDate[0] + '-' + aDate[1] + '-' + aDate[2]);
	
	iDays = parseInt(Math.round(oDate2 -oDate1) / 1000 / 60 / 60 / 24); //把相差的毫秒数转换为天数
	
	//说明结束日期小于开始日期
    if(iDays < 0){
    	return  false;
    }
    
    return true;
}

 

    18、用js直接下载文件
        window.open("http://localhost:8080/shoppertrak/activityPdf_1441423511803.pdf");

    

   19、得到当前页面路径

       var page=window.location.pathname;

你可能感兴趣的:(js)