JavaScript实现网页的放大缩小以及拖动功能
项目中遇到一种情况,开发的页面绘制出来的图片或者底图都比较大,超过屏幕大小许多。为了改善使用体验,需要给这类页面添加放大、缩小以及平移的功能。经过一番搜索和尝试,实现了有关功能,备忘如下。
JavaScript:
var zoomRate = 20;//每次放缩比例增量
var maxRate = 300;//最大放大倍数
var minRate = 20;//最小缩小倍数
var currZoom = 100;//当前缩放比
var dvWidth = 200;//构造缩放toolbar的宽度
var dvHeight = 30;///构造缩放toolbar的高度
var cname = '';
//--------------cookie--------------------------//
//将以前选择的zoom存入cookie//
function SetCookie(name, value) {
var exdate = new Date()
exdate.setDate(exdate.getDate() + 30)
document.cookie = name + "=" + escape(value) + ";expires=" + exdate.toGMTString();
// document.cookie = name + "=" + escape(value) + ";";
}
function GetCookie(name) {
if (document.cookie.length > 0) {
var start = document.cookie.indexOf(name + "=")
if (start != -1) {
start = start + name.length + 1
var end = document.cookie.indexOf(";", start)
if (end == -1) end = document.cookie.length
return unescape(document.cookie.substring(start, end))
}
}
return ""
}
//---------------------Zoom------------------------//
function Zoom() {
//在已有的页面动态加载div,用来放入功能控件
var dv = document.createElement('div');
dv.setAttribute('id', 'btnDiv');
dv.style.position = "absolute";
dv.style.display = "block";
dv.style.left = 0;
dv.style.top = 0;
dv.style.width = dvWidth;
dv.style.height = dvHeight;
dv.style.border = "2px inset gray";
dv.style.backgroundColor = "transparent";
dv.innerHTML = "ButtonArea";
document.body.appendChild(dv);
//添加功能控件
var select = '<select id="showZoom" onchange="changeZoom();"><option value="20%">20%</option><option value="40%">40%</option><option value="60%">60%</option><option value="80%">80
相关文档:
以下全是个人理解以及网上查找而来,如有不对请指正...
假如有n段js代码 用<script>标签隔开的.
运行顺序是
step1. 读入第一个代码段
step2. 做语法分析,有错则报语法错误(比如括号不匹配等),并跳转到step5
step3. 对var变量和function定义做“预解析”(永远不会报错的,因为只解析正确的声明)
......
/**
* 6 级强度设置(数字、大写字母、小写字母、特殊字符、长度>=6、长度>=10)
* 如果密码为空,返回 0
*/
function __pwdStrength(pwd) {
var sum = [0, 0, 0, 0];
for (var i=0; i<pwd.length; i++) {
& ......
JS的正则表达式
//校验是否全由数字组成
function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}
//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
Java代码
function isRegisterUserName(s)
......
嵌入式SGF查看和编辑器
EidoGo Player
(SGF viewer and editor) 是一款开源(AGPLv3
许可)纯javascript+css编写、在浏览器内运行的围棋打谱、编辑软件。
可嵌入到任何页面,提供打谱、编辑SGF棋谱。
源代码:http://code.google.com/p/eidogo/
例子:第24届天元战本赛第1轮 2010-01-27 常昊vs罗洗河 白中盘胜
(
......