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
相关文档:
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetL ......
看了很多javascrip代码,发现很多地方用到了this这个对象,那这个到底是什么东西阿?
先让我们来理解一个概念:
在javascript会有一个上下文的概念,任何一个对象无论是Object 还是function 都会有一个专有的上下文对象,也可以理解为它自己的拥有者。
那么我们很容易想到这个拥有者,必然有个终点,那就是window对象。
......
今天在做一个学生信息修改页面的时候遇到了一点小问题,因需求指出学生在查看个人信息时可以申告其中的错误信息,并提交正确信息,所以我在显示基本信息的时候对于学院、专业和班级等就采用了下拉菜单,为了使下拉菜单显示学生当前的信息,且具有联动效果需在js中获取session中传过来的相 ......
1、插入排序->直接插入法排序
function InsertSort(arr) { //插入排序->直接插入法排序
var st = new Date();
var temp, j;
for(var i=1; i<arr.length; i++) {
if((arr[i]) < (arr[i-1])) {
temp = arr[i];
j = i-1;
do {
arr[j+1] = arr[j];
j--;
}
whil ......
嵌入式SGF查看和编辑器
EidoGo Player
(SGF viewer and editor) 是一款开源(AGPLv3
许可)纯javascript+css编写、在浏览器内运行的围棋打谱、编辑软件。
可嵌入到任何页面,提供打谱、编辑SGF棋谱。
源代码:http://code.google.com/p/eidogo/
例子:第24届天元战本赛第1轮 2010-01-27 常昊vs罗洗河 白中盘胜
(
......