图片旋转 和上下一页的js代码 有错误
来源:互联网 发布:如何用win10引导ubuntu 编辑:程序博客网 时间:2024/04/18 04:40
<%@ page language="java" pageEncoding="UTF-8"
contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
<c:set var="ctx" value="${pageContext.request.contextPath}"></c:set>
<!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>
<script type="text/javascript" charset="utf-8">
(function() {
AUI = {}; //随便起个名字,
AUI.Utils = {};
AUI.Utils.Array = window.Array;
if (!AUI.Utils.Array.prototype.indexOf) {
AUI.Utils.Array.prototype.indexOf = function(searchElement,
fromIndex) {
if (this === undefined || this === null) {
throw new TypeError('"this" is null or not defined');
}
var length = this.length >>> 0; // Hack to convert object.length to a UInt32
fromIndex = +fromIndex || 0;
if (Math.abs(fromIndex) === Infinity) {
fromIndex = 0;
}
if (fromIndex < 0) {
fromIndex += length;
if (fromIndex < 0) {
fromIndex = 0;
}
}
for (; fromIndex < length; fromIndex++) {
if (this[fromIndex] === searchElement) {
return fromIndex;
}
}
return -1;
};
}
AUI.overlay = {};
AUI.overlay.doCenter = function(target) {
//让target 位于网页的中央居中的位置
var targetWidth = target.offsetWidth, //目标的可见宽度
targetHeight = target.offsetHeight, //目标的可见高度
realLeft = window.pageXOffset
|| document.documentElement.offsetLeft
|| document.body.offsetLeft, realTop = window.pageYOffset
|| document.documentElement.offsetTop
|| document.body.offsetTop, clientWidth = document.documentElement.clientWidth
|| document.body.clientWidth, clientHeight = document.documentElement.clientHeight
|| document.body.clientHeight, boxTop = realTop
+ Math.round((clientHeight - targetHeight) / 2), boxLeft = realLeft
+ Math.round((clientWidth - targetWidth) / 2);
target.style.position = 'absolute';
target.style.top = boxTop + 'px';
target.style.left = boxLeft + 'px';
};
AUI.overlay.fadeIn = function(target, speed) {
//document.location.reload();
var speed = speed || 20;
var box = document.getElementById("box"), bg = document
.getElementById("bg"), //有点透明的黑色背景
show = document.getElementById('show');
bg.style.display = "block";
box.style.display = "block";
box.style.opacity = 0;
show.src = target.src;
//text.innerHTML = txt;
AUI.overlay.doCenter(box);
var val = 0;
//循环将透明值以5递增,即淡入效果
(function() {
box.style.opacity = val;
val += 0.1;
if (val <= 100) {
setTimeout(arguments.callee, speed);
}
})();
};
AUI.overlay.fadeOut = function(speed) {
var speed = speed || 20, box = document.getElementById("box"), bg = document
.getElementById("bg"), val = 100;
//循环将透明值以4递减,即淡出效果
(function() {
box.style.opacity = val;
val = val - 4;
if (val > 0) {
setTimeout(arguments.callee, speed);
}
if (val <= 0) {
box.style.display = "none";
bg.style.display = "none";
}
})();
};
AUI.overlay.next = function() {
var imgList = document.getElementById("img-list"), imgs = imgList
.getElementsByTagName('img'), show = document
.getElementById("show"),srcs = [];
Array.indexOf = AUI.Utils.Array.indexOf;
for (var i = 0; i < imgs.length; i++) {
srcs.push(imgs[i].src);
if (srcs.indexOf(show.src) === -1) {
continue;
} else if (srcs.indexOf(show.src) < imgs.length - 1) {
show.src = imgs[i + 1].src;
//text.innerHTML = "第" + (i + 2) + "张图,真尼玛看着漂亮啊";
break;
} else {
alert("最后一张了");
return false;
}
}
};
AUI.overlay.pre = function() {
var imgList = document.getElementById("img-list");
var imgs = imgList.getElementsByTagName('img');
var show = document.getElementById("show");
// var text = document.getElementById("text");
var srcs = [];
for (var i = 0; i < imgs.length; i++) {
srcs.push(imgs[i].src);
if (srcs.indexOf(show.src) === -1) {
continue;
} else if (srcs.indexOf(show.src) > 0 && i !== 0) {
show.src = imgs[i - 1].src;
//text.innerHTML = "第" + (i) + "张图,真尼玛看着漂亮啊";
break;
} else {
alert("第一张了");
return false;
}
}
};
AUI.overlay.rotate=function(id, angle, whence) {
var p = document.getElementById(id);
if (!whence) {
p.angle = ((p.angle == undefined ? 0 : p.angle) + angle) % 360;
} else {
p.angle = angle;
}
if (p.angle >= 0) {
var rotation = Math.PI * p.angle / 180;
} else {
var rotation = Math.PI * (360 + p.angle) / 180;
}
var costheta = Math.cos(rotation);
var sintheta = Math.sin(rotation);
if (document.all && !window.opera) {
var canvas = document.createElement('img');
canvas.src = p.src;
canvas.height = p.height;
canvas.width = p.width;
canvas.style.filter = "progid:DXImageTransform.Microsoft.Matrix(M11="
+ costheta
+ ",M12="
+ (-sintheta)
+ ",M21="
+ sintheta
+ ",M22=" + costheta + ",SizingMethod='auto expand')";
} else {
var canvas = document.createElement('canvas');
if (!p.oImage) {
canvas.oImage = new Image();
canvas.oImage.src = p.src;
} else {
canvas.oImage = p.oImage;
}
//alert(canvas.width)
canvas.style.width = canvas.width = Math.abs(costheta
* canvas.oImage.width)
+ Math.abs(sintheta * canvas.oImage.height);
canvas.style.height = canvas.height = Math.abs(costheta
* canvas.oImage.height)
+ Math.abs(sintheta * canvas.oImage.width);
var context = canvas.getContext('2d');
context.save();
if (rotation <= Math.PI / 2) {
context.translate(sintheta * canvas.oImage.height, 0);
} else if (rotation <= Math.PI) {
context.translate(canvas.width, -costheta
* canvas.oImage.height);
} else if (rotation <= 1.5 * Math.PI) {
context.translate(-costheta * canvas.oImage.width,
canvas.height);
} else {
context.translate(0, -sintheta * canvas.oImage.width);
}
context.rotate(rotation);
context.drawImage(canvas.oImage, 0, 0, canvas.oImage.width,
canvas.oImage.height);
context.restore();
}
canvas.id = p.id;
canvas.angle = p.angle;
p.parentNode.replaceChild(canvas, p);
}
//向右旋转
AUI.overlay.rotateRight=function (id, angle) {
//alert("right");
AUI.overlay.rotate(id, angle == undefined ? 90 : angle);
}
//向左旋转
AUI.overlay.rotateLeft=function (id, angle) {
//alert("left");
AUI.overlay.rotate(id, angle == undefined ? -90 : -angle);
}
})();
</script>
<style type="text/css" media="screen">
h1 {
color: #333;
font-family: "微软雅黑";
border-bottom: solid 3px #ddd;
}
div#bg {
display: none;
position: absolute;
top: 0%;
left: 0%;
width: 100%;
height: 100%;
background-color: #000000;
filter: alpha(opacity = 80);
-moz-opacity: 0.8;
-khtml-opacity: 0.8;
opacity: 0.8;
}
div#box {
display: none;
position: fixed;
top: 10%;
width: 50%;
border: 2px solid #eeeeee;
padding: 10px;
background-color: white;
z-index: 1002;
overflow: auto;
}
img {
max-width: 100%;
}
div#img-list img {
padding: 4px;
border: solid 1px #dddddd;
box-shadow: 1px 1px 2px #ddd;
-moz-box-shadow: 1px 1px 2px #ddd;
}
.btn {
border: none;
background-color: #2a6496;
color: #ffffff;
float: right;
margin-bottom: 5px;
}
.btn-left {
float: left;
}
div#box-inner {
position: relative;
width: 100%;
}
/*
p#text {
height: 30px;
letter-spacing: 2px;
line-height: 30px;
padding-left: 10px;
}*/
</style>
</head>
<body>
<h1>overlay demo</h1>
<div id="img-list">
<img src="${ctx}/wangyun/images/f1.jpg" width="150" alt="点我"
onclick="AUI.overlay.fadeIn(this,20)" />
<img src="${ctx}/wangyun/images/f2.jpg" width="150"
onclick="AUI.overlay.fadeIn(this,20)" />
<img src="${ctx}/wangyun/images/f3.jpg"width="150" alt="点我"
onclick="AUI.overlay.fadeIn(this,20)" />
<img src="${ctx}/wangyun/images/f4.jpg" width="150" alt="点我"
onclick="AUI.overlay.fadeIn(this,20)" />
<img src="${ctx}/wangyun/images/f5.jpg" width="150" alt="点我"
onclick="AUI.overlay.fadeIn(this,20)" />
</div>
<div id="box">
<div id="box-inner">
<button onclick="AUI.overlay.fadeOut(20)" class="btn">×</button>
<img id="show" src="" width="" alt='原生js的点击图片弹出预览效果(支持上一张下一张)'
/>
<!--
<p id="text"></p> -->
<button onclick="AUI.overlay.next(20)" class="btn">下一张</button>
<button onclick="AUI.overlay.rotateRight('show',90)" class="btn">右转</button>
<button onclick="AUI.overlay.pre(20)" class="btn btn-left">上一张</button>
<button onclick="AUI.overlay.rotateLeft('show',90)" class="btn btn-left">左转</button>
</div>
</div>
<div id="bg"></div>
</body>
</html>
contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
<c:set var="ctx" value="${pageContext.request.contextPath}"></c:set>
<!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>
<script type="text/javascript" charset="utf-8">
(function() {
AUI = {}; //随便起个名字,
AUI.Utils = {};
AUI.Utils.Array = window.Array;
if (!AUI.Utils.Array.prototype.indexOf) {
AUI.Utils.Array.prototype.indexOf = function(searchElement,
fromIndex) {
if (this === undefined || this === null) {
throw new TypeError('"this" is null or not defined');
}
var length = this.length >>> 0; // Hack to convert object.length to a UInt32
fromIndex = +fromIndex || 0;
if (Math.abs(fromIndex) === Infinity) {
fromIndex = 0;
}
if (fromIndex < 0) {
fromIndex += length;
if (fromIndex < 0) {
fromIndex = 0;
}
}
for (; fromIndex < length; fromIndex++) {
if (this[fromIndex] === searchElement) {
return fromIndex;
}
}
return -1;
};
}
AUI.overlay = {};
AUI.overlay.doCenter = function(target) {
//让target 位于网页的中央居中的位置
var targetWidth = target.offsetWidth, //目标的可见宽度
targetHeight = target.offsetHeight, //目标的可见高度
realLeft = window.pageXOffset
|| document.documentElement.offsetLeft
|| document.body.offsetLeft, realTop = window.pageYOffset
|| document.documentElement.offsetTop
|| document.body.offsetTop, clientWidth = document.documentElement.clientWidth
|| document.body.clientWidth, clientHeight = document.documentElement.clientHeight
|| document.body.clientHeight, boxTop = realTop
+ Math.round((clientHeight - targetHeight) / 2), boxLeft = realLeft
+ Math.round((clientWidth - targetWidth) / 2);
target.style.position = 'absolute';
target.style.top = boxTop + 'px';
target.style.left = boxLeft + 'px';
};
AUI.overlay.fadeIn = function(target, speed) {
//document.location.reload();
var speed = speed || 20;
var box = document.getElementById("box"), bg = document
.getElementById("bg"), //有点透明的黑色背景
show = document.getElementById('show');
bg.style.display = "block";
box.style.display = "block";
box.style.opacity = 0;
show.src = target.src;
//text.innerHTML = txt;
AUI.overlay.doCenter(box);
var val = 0;
//循环将透明值以5递增,即淡入效果
(function() {
box.style.opacity = val;
val += 0.1;
if (val <= 100) {
setTimeout(arguments.callee, speed);
}
})();
};
AUI.overlay.fadeOut = function(speed) {
var speed = speed || 20, box = document.getElementById("box"), bg = document
.getElementById("bg"), val = 100;
//循环将透明值以4递减,即淡出效果
(function() {
box.style.opacity = val;
val = val - 4;
if (val > 0) {
setTimeout(arguments.callee, speed);
}
if (val <= 0) {
box.style.display = "none";
bg.style.display = "none";
}
})();
};
AUI.overlay.next = function() {
var imgList = document.getElementById("img-list"), imgs = imgList
.getElementsByTagName('img'), show = document
.getElementById("show"),srcs = [];
Array.indexOf = AUI.Utils.Array.indexOf;
for (var i = 0; i < imgs.length; i++) {
srcs.push(imgs[i].src);
if (srcs.indexOf(show.src) === -1) {
continue;
} else if (srcs.indexOf(show.src) < imgs.length - 1) {
show.src = imgs[i + 1].src;
//text.innerHTML = "第" + (i + 2) + "张图,真尼玛看着漂亮啊";
break;
} else {
alert("最后一张了");
return false;
}
}
};
AUI.overlay.pre = function() {
var imgList = document.getElementById("img-list");
var imgs = imgList.getElementsByTagName('img');
var show = document.getElementById("show");
// var text = document.getElementById("text");
var srcs = [];
for (var i = 0; i < imgs.length; i++) {
srcs.push(imgs[i].src);
if (srcs.indexOf(show.src) === -1) {
continue;
} else if (srcs.indexOf(show.src) > 0 && i !== 0) {
show.src = imgs[i - 1].src;
//text.innerHTML = "第" + (i) + "张图,真尼玛看着漂亮啊";
break;
} else {
alert("第一张了");
return false;
}
}
};
AUI.overlay.rotate=function(id, angle, whence) {
var p = document.getElementById(id);
if (!whence) {
p.angle = ((p.angle == undefined ? 0 : p.angle) + angle) % 360;
} else {
p.angle = angle;
}
if (p.angle >= 0) {
var rotation = Math.PI * p.angle / 180;
} else {
var rotation = Math.PI * (360 + p.angle) / 180;
}
var costheta = Math.cos(rotation);
var sintheta = Math.sin(rotation);
if (document.all && !window.opera) {
var canvas = document.createElement('img');
canvas.src = p.src;
canvas.height = p.height;
canvas.width = p.width;
canvas.style.filter = "progid:DXImageTransform.Microsoft.Matrix(M11="
+ costheta
+ ",M12="
+ (-sintheta)
+ ",M21="
+ sintheta
+ ",M22=" + costheta + ",SizingMethod='auto expand')";
} else {
var canvas = document.createElement('canvas');
if (!p.oImage) {
canvas.oImage = new Image();
canvas.oImage.src = p.src;
} else {
canvas.oImage = p.oImage;
}
//alert(canvas.width)
canvas.style.width = canvas.width = Math.abs(costheta
* canvas.oImage.width)
+ Math.abs(sintheta * canvas.oImage.height);
canvas.style.height = canvas.height = Math.abs(costheta
* canvas.oImage.height)
+ Math.abs(sintheta * canvas.oImage.width);
var context = canvas.getContext('2d');
context.save();
if (rotation <= Math.PI / 2) {
context.translate(sintheta * canvas.oImage.height, 0);
} else if (rotation <= Math.PI) {
context.translate(canvas.width, -costheta
* canvas.oImage.height);
} else if (rotation <= 1.5 * Math.PI) {
context.translate(-costheta * canvas.oImage.width,
canvas.height);
} else {
context.translate(0, -sintheta * canvas.oImage.width);
}
context.rotate(rotation);
context.drawImage(canvas.oImage, 0, 0, canvas.oImage.width,
canvas.oImage.height);
context.restore();
}
canvas.id = p.id;
canvas.angle = p.angle;
p.parentNode.replaceChild(canvas, p);
}
//向右旋转
AUI.overlay.rotateRight=function (id, angle) {
//alert("right");
AUI.overlay.rotate(id, angle == undefined ? 90 : angle);
}
//向左旋转
AUI.overlay.rotateLeft=function (id, angle) {
//alert("left");
AUI.overlay.rotate(id, angle == undefined ? -90 : -angle);
}
})();
</script>
<style type="text/css" media="screen">
h1 {
color: #333;
font-family: "微软雅黑";
border-bottom: solid 3px #ddd;
}
div#bg {
display: none;
position: absolute;
top: 0%;
left: 0%;
width: 100%;
height: 100%;
background-color: #000000;
filter: alpha(opacity = 80);
-moz-opacity: 0.8;
-khtml-opacity: 0.8;
opacity: 0.8;
}
div#box {
display: none;
position: fixed;
top: 10%;
width: 50%;
border: 2px solid #eeeeee;
padding: 10px;
background-color: white;
z-index: 1002;
overflow: auto;
}
img {
max-width: 100%;
}
div#img-list img {
padding: 4px;
border: solid 1px #dddddd;
box-shadow: 1px 1px 2px #ddd;
-moz-box-shadow: 1px 1px 2px #ddd;
}
.btn {
border: none;
background-color: #2a6496;
color: #ffffff;
float: right;
margin-bottom: 5px;
}
.btn-left {
float: left;
}
div#box-inner {
position: relative;
width: 100%;
}
/*
p#text {
height: 30px;
letter-spacing: 2px;
line-height: 30px;
padding-left: 10px;
}*/
</style>
</head>
<body>
<h1>overlay demo</h1>
<div id="img-list">
<img src="${ctx}/wangyun/images/f1.jpg" width="150" alt="点我"
onclick="AUI.overlay.fadeIn(this,20)" />
<img src="${ctx}/wangyun/images/f2.jpg" width="150"
onclick="AUI.overlay.fadeIn(this,20)" />
<img src="${ctx}/wangyun/images/f3.jpg"width="150" alt="点我"
onclick="AUI.overlay.fadeIn(this,20)" />
<img src="${ctx}/wangyun/images/f4.jpg" width="150" alt="点我"
onclick="AUI.overlay.fadeIn(this,20)" />
<img src="${ctx}/wangyun/images/f5.jpg" width="150" alt="点我"
onclick="AUI.overlay.fadeIn(this,20)" />
</div>
<div id="box">
<div id="box-inner">
<button onclick="AUI.overlay.fadeOut(20)" class="btn">×</button>
<img id="show" src="" width="" alt='原生js的点击图片弹出预览效果(支持上一张下一张)'
/>
<!--
<p id="text"></p> -->
<button onclick="AUI.overlay.next(20)" class="btn">下一张</button>
<button onclick="AUI.overlay.rotateRight('show',90)" class="btn">右转</button>
<button onclick="AUI.overlay.pre(20)" class="btn btn-left">上一张</button>
<button onclick="AUI.overlay.rotateLeft('show',90)" class="btn btn-left">左转</button>
</div>
</div>
<div id="bg"></div>
</body>
</html>
0 0
- 图片旋转 和上下一页的js代码 有错误
- 网页图片旋转 有趣的JS代码
- Android 图片上下旋转
- html和js图片上下居中的两种方法
- 图片旋转的代码
- js实现旋转的图片
- JSLint(检测js代码是否有错误)的安装和使用!
- JS返回上一页-通过图片和按钮分别实现
- js上下滚动代码
- 图片的水平滚动和上下滚动
- JS和CSS使图片旋转
- js 返回上一页 代码
- 使用js返回上一页的几段代码
- 返回上一页并强制刷新的js代码
- 兼容IE和Firefox火狐的上下、左右循环滚动JS代码
- 如何将ResultSet分页展示:比如说十条一页,有“上一页”和“下一页”的按钮
- 图片的旋转和缩放
- 图片的旋转和伸缩
- navigationBar图片过大
- 根据手势拿到superview
- 命令行下安装sybase
- 让Button旋转:
- 1408: 种植树苗
- 图片旋转 和上下一页的js代码 有错误
- cell设置没有选中效果,tableVIew设置没有分割线
- JFreeChart 使用一 饼图之简单实例
- app上线Icon尺寸和Default图片尺寸
- 个梵蒂冈梵蒂冈梵蒂冈梵蒂冈反对
- 和规范化股份和规范化
- 开发技巧,为了避免拖拽文件出现无法到达工程中,应该是件文件直接拷贝的工程中,不要在xcode里面操作
- 结构和几个号结构化
- 将工程中的文件写入到应用程序中得Documents文件下