zoukankan      html  css  js  c++  java
  • Web开发常用技巧

    本技巧已经通过IE、FF浏览器测试。

    1.css实现输入框字符自动大写

    <input style="text-transform:uppercase" />
    

    演示:

    2.页面居中html/css

    <!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>
    <style type="text/css">
    	body{960px;margin:0 auto;}
    	div{height:100px;background-color:#ADCF73;}
    </style>
    </head>
    <body>
    <div id="wrapper">test</div>test
    </body>
    </html>
    

    注意:ie6必须加入第一行<!DOCTYPE...

    ie5这样写不行,必须这样写:body{text-align:center;}#wrapper{960px;margin:0 auto;}

    3.单击tr选中radio button

    <table border="1">
    	<tr><th>姓名</th><th>Email</th></tr>
    	<tr onclick="chkUser(this);">
    		<td><input type="radio" name="employee" value="1" />张三</td>
    		<td>zhangsan@xxx.com</td>
    	</tr>
    	<tr onclick="chkUser(this);">
    		<td><input type="radio" name="employee" value="1" />李四</td>
    		<td>lisi@xxx.com</td>
    	</tr>
    </table>
    <script type="text/javascript">
    <!--
    	 function chkUser(obj) { obj.cells[0].childNodes[0].checked = true; }
    //-->
    </script>
    

    演示:

    姓名Email
    张三 zhangsan@xxx.com
    李四 lisi@xxx.com

    4.倒计时JS

    <script type="text/javascript">
    function count() {
    	var now = new Date();
    	var y = now.getYear();
    	var m = now.getMonth() + 1;
    	var d = now.getDate();
    	var h = now.getHours();
    	var n = now.getMinutes();
    	var s = now.getSeconds();
     
    	var time = new Date('9999', '1', '1', '0', '0', '00');
    	var temp = new Date(y, m, d, h, n, s);
    	var diff = (time.valueOf() - temp.valueOf()) / 1000;
    	setTimeout('count()', 1000);
    	document.getElementById('leaveTime').innerHTML = getLeaveTimeString(diff);
    }
    function getLeaveTimeString(ms) {
    	if (ms <= 0) return ''; 
    	var str = '9999年元旦倒計時:';
    	if (ms > 86400) {
    		str = str + String(Math.floor(ms / 86400)) + '天';
    		ms = ms % 86400;
    	}
    	if (ms > 3600) {
    		str = str + String(Math.floor(ms / 3600)) + '小时';
    		ms = ms % 3600;
    	}
    	if (ms > 60) {
    		str = str + String(Math.floor(ms / 60)) + '分';
    		ms = ms % 60;
    	}
    	str = str + String(ms) + '秒';
    	return str;
    }
    </script>
    <span id="leaveTime"></span>
    <script type="text/javascript">count();</script>
    

    5.对话框

    方式一:

    //p1.htm
    function selData() {
    	var url = 'p2.htm';
    	var rtnVal = openWin(url, 600, 500);
    	alert(rtnVal);
    }
    function openWin(url, width, height) {
    	return window.showModalDialog(url, this, 'dialogWidth:' + width + 'px;dialogHeight:' + height + 'px;');
    }
    
    //p2.htm
    function closeWin() {
    	window.returnValue = 'return value.';
    	window.close();
    }
    

    方式二:

    //p1.htm
    function selData() {
    	var url = 'p2.htm';
    	openWin(url, 600, 500);
    }
    function callback(rtnVal) {
    	alert(rtnVal);
    }
    function openWin(url, width, height) {
    	return window.showModalDialog(url, this, 'dialogWidth:' + width + 'px;dialogHeight:' + height + 'px;');
    }
    
    //p2.htm
    function closeWin() {
    	window.dialogArguments.callback('return value.');
    	window.close();
    }
    

    6.提交表单等待信息

    function showMessage() {
    	document.forms[0].style.display = 'none';
    	if (!document.getElementById('waitMessage')) {
    		var div = document.createElement('DIV');
    		div.id = 'waitMessage';
    		div.className = 'message';
    		div.innerHTML = '资料处理中﹐请稍等...';
    		document.body.insertBefore(div, document.body.firstChild);
    	} else {
    		document.getElementById('waitMessage').style.display = 'block';
    	}
    }
    

    演示:

    7.去掉字符串左右空格

    使用方式:document.getElementById('txt').value.trim();

    String.prototype.trim = function() {
    	return this.replace(/^\s+|\s+$/g, '');
    }
    

    8.格式化日期

    使用方式:(new Date()).format('yyyy/mm/dd');

    Date.prototype.format = function(formatStr) {   
    	var str = formatStr;
    	var y, m, d, h, n, s;
    	y = this.getYear();
    	m = this.getMonth() + 1;
    	d = this.getDate();
    	h = this.getHours();
    	n = this.getMinutes();
    	s = this.getSeconds();
    	str = str.replace(/yyyy|YYYY/, y);
    	str = str.replace(/yy|YY/, (y % 100) > 9 ? (y % 100) : '0' + (y % 100));
    	str = str.replace(/mm|MM/, m > 9 ? m : '0' + m);
    	str = str.replace(/m|M/g, m);
    	str = str.replace(/dd|DD/, d > 9 ? d : '0' + d);
    	str = str.replace(/d|D/g, d);
    	str = str.replace(/hh|HH/, h > 9 ? h : '0' + h);
    	str = str.replace(/h|H/g, h);
    	str = str.replace(/nn|NN/, n > 9 ? n : '0' + n);
    	str = str.replace(/n|N/g, n);
    	str = str.replace(/ss|SS/, s > 9 ? s : '0' + s);
    	str = str.replace(/s|S/g, s);
    	return str;
    }
    

    9.添加删除Table行

    function addRow(tb) {
    	var curTb = document.getElementById(tb);
    	var row = curTb.insertRow(curTb.rows.length);
    	if (row) {
    		var cell = row.insertCell(0);
    		cell.innerHTML = '<input name="delTR" type="button" value="删除" onclick="delRow(this);" />王五';
    		cell = row.insertCell(1);
    		cell.innerHTML = 'wangwu@xxx.com';
    	}
    }
    function delRow(obj) {
    	var curTr = obj.parentNode.parentNode;
    	var curTb = curTr.parentNode;
    	curTb.deleteRow(curTr.rowIndex);
    }
    

    演示:

    姓名Email
    张三 zhangsan@xxx.com
    李四 lisi@xxx.com

    10.全选/反选

    function chkAll(obj, name) {
    	var items = document.getElementsByName(name);
    	if (obj.checked) {
    		for (var i = 0; i < items.length; i++) {
    			items[i].checked = true;
    		}
    	} else {
    		for (var i = 0; i < items.length; i++) {
    			items[i].checked = false;
    		}
    	}
    }
    

    演示:

    11.显示/隐藏

    function expand(obj, id) {
    	var elem = document.getElementById(id);
    	if (obj.innerHTML == '隐藏') {
    		elem.style.display = 'none';
    		obj.innerHTML = '显示';
    	} else {
    		elem.style.display = 'block';
    		obj.innerHTML = '隐藏';
    	}
    }
    

    演示:

    隐藏
    Test value

    12.运行代码

    function runCode(id) {
    	var code = document.getElementById(id).value;
    	var newWin = window.open('', '', ''); 
    	newWin.opener = null;
    	newWin.document.write(code);
    	newWin.document.close();
    }
    

    演示:

    13.页面背景图片固定

    CSS:

    body{background:#fff url(bg.jpg) no-repeat fixed right bottom;}
    

    14.JS给TextBox赋值,并触发TextBox事件

    <input type="text" id="txt1" />
    <input type="text" id="txt2" onpropertychange="document.getElementById('txt1').value='Hello '+this.value;" />
    <input type="button" onclick="document.getElementById('txt2').value='world';" value="Submit" />
    

    示例:

  • 相关阅读:
    js判断是否为数字
    sublime3常用插件总结
    npm run build打包后自定义动画没有执行
    css实现未知元素宽高垂直居中和水平居中的方法
    vue3.0的设计目标
    chrome 80版本以后开启了SameSite
    http以及缓存、事件循环......
    vue移动端适配就这么玩
    前端性能监控
    能解决 80% 需求的 10个 CSS动画库
  • 原文地址:https://www.cnblogs.com/known/p/1412990.html
Copyright © 2011-2022 走看看