JS弹性相册展示代码

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

以下是 JS弹性相册展示代码 的示例演示效果:

当前平台(PC电脑)
  • 平台:

部分效果截图:

JS弹性相册展示代码

HTML代码(index.html):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="keywords" content="JS代码,相册代码,JS广告代码,JS特效代码" />
<meta name="description" content="此代码内容为JS弹性相册展示代码,属于站长常用代码" />
<title>JS弹性相册展示代码</title>
<style type="text/css">
	html {
		overflow: hidden;
	}
	body {
		position: absolute;
		margin: 0px;
		padding: 0px;
		background: #111;
		width: 100%;
		height: 100%;
	}
	#center {
		position: absolute;
		left: 50%;
		top:  50%;
	}
	#slider {
		position: absolute;
		width: 820px;
		height: 333px;
		left: -430px;
		top: -186px;
		overflow: hidden;
		background: #000;
		border: 20px solid #000;
	}
	#slider .slide {
		position: absolute;
		top: 0px;
		height: 333px;
		width: 500px;
		background: #000;
		overflow: hidden;
		border-left: #000 solid 1px;
		cursor: default;
	}
	#slider .title   {
		color: #F80;
		font-weight: bold;
		font-size: 1.2em;
		margin-right: 1.5em;
		text-decoration: none;
	}
	#slider .backgroundText {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 100%;
		background: #000;
		filter: alpha(opacity=40);
		opacity: 0.4;
	}
	#slider .text {
		position: absolute;
		top: 1%;
		top: 100%;
		color: #FFF;
		font-family: verdana, arial, Helvetica, sans-serif;
		font-size: 0.9em;
		text-align: justify;
		width: 470px;
		left: 10px;
	}
	#slider .diapo {
		position: absolute;
		filter: alpha(opacity=100);
		opacity: 1;
		visibility: hidden;
	}
</style>

<script type="text/javascript">
/* ==== slider nameSpace ==== */
var slider = function() {
	/* ==== private methods ==== */
	function getElementsByClass(object, tag, className) {
		var o = object.getElementsByTagName(tag);
		for ( var i = 0, n = o.length, ret = []; i < n; i++) {
			if (o[i].className == className) ret.push(o[i]);
		}
		if (ret.length == 1) ret = ret[0];
		return ret;
	}
	function setOpacity (obj,o) {
		if (obj.filters) obj.filters.alpha.opacity = Math.round(o);
		else obj.style.opacity = o / 100;
	}
	/* ==== Slider Constructor ==== */
	function Slider(oCont, speed, iW, iH, oP) {
		this.slides = [];
		this.over   = false;
		this.S      = this.S0 = speed;
		this.iW     = iW;
		this.iH     = iH;
		this.oP     = oP;
		this.oc     = document.getElementById(oCont);
		this.frm    = getElementsByClass(this.oc, 'div', 'slide');
		this.NF     = this.frm.length;
		this.resize();
		for (var i = 0; i < this.NF; i++) {
			this.slides[i] = new Slide(this, i);
		}
		this.oc.parent = this;
		this.view      = this.slides[0];
		this.Z         = this.mx;
		/* ==== on mouse out event ==== */
		this.oc.onmouseout = function () {
			this.parent.mouseout();
			return false;
		}
	}
	Slider.prototype = {
		/* ==== animation loop ==== */
		run : function () {
			this.Z += this.over ? (this.mn - this.Z) * .5 : (this.mx - this.Z) * .5;
			this.view.calc();
			var i = this.NF;
			while (i--) this.slides[i].move();
		},
		/* ==== resize  ==== */
		resize : function () {
			this.wh = this.oc.clientWidth;
			this.ht = this.oc.clientHeight;
			this.wr = this.wh * this.iW;
			this.r  = this.ht / this.wr;
			this.mx = this.wh / this.NF;
			this.mn = (this.wh * (1 - this.iW)) / (this.NF - 1);
		},
		/* ==== rest  ==== */
		mouseout : function () {
			this.over      = false;
			setOpacity(this.view.img, this.oP);
		}
	}
	/* ==== Slide Constructor ==== */
	Slide = function (parent, N) {
		this.parent = parent;
		this.N      = N;
		this.x0     = this.x1 = N * parent.mx;
		this.v      = 0;
		this.loaded = false;
		this.cpt    = 0;
		this.start  = new Date();
		this.obj    = parent.frm[N];
		this.txt    = getElementsByClass(this.obj, 'div', 'text');
		this.img    = getElementsByClass(this.obj, 'img', 'diapo');
		this.bkg    = document.createElement('div');
		this.bkg.className = 'backgroundText';
		this.obj.insertBefore(this.bkg, this.txt);
		if (N == 0) this.obj.style.borderLeft = 'none';
		this.obj.style.left = Math.floor(this.x0) + 'px';
		setOpacity(this.img, parent.oP);
		/* ==== mouse events ==== */
		this.obj.parent = this;
		this.obj.onmouseover = function() {
			this.parent.over();
			return false;
		}
	}
	Slide.prototype = {
		/* ==== target positions ==== */
		calc : function() {
			var that = this.parent;
			// left slides
			for (var i = 0; i <= this.N; i++) {
				that.slides[i].x1 = i * that.Z;
			}
			// right slides
			for (var i = this.N + 1; i < that.NF; i++) {
				that.slides[i].x1 = that.wh - (that.NF - i) * that.Z;
			}
		},
		/* ==== HTML animation : move slides ==== */
		move : function() {
			var that = this.parent;
			var s = (this.x1 - this.x0) / that.S;
			/* ==== lateral slide ==== */
			if (this.N && Math.abs(s) > .5) {
				this.obj.style.left = Math.floor(this.x0 += s) + 'px';
			}
			/* ==== vertical text ==== */
			var v = (this.N < that.NF - 1) ? that.slides[this.N + 1].x0 - this.x0 : that.wh - this.x0;
			if (Math.abs(v - this.v) > .5) {
				this.bkg.style.top = this.txt.style.top = Math.floor(2 + that.ht - (v - that.Z) * that.iH * that.r) + 'px';
				this.v = v;
				this.cpt++;
			} else {
				if (!this.pro) {
					/* ==== adjust speed ==== */
					this.pro = true;
					var tps = new Date() - this.start;
					if(this.cpt > 1) {
						that.S = Math.max(2, (28 / (tps / this.cpt)) * that.S0);
					}
				}
			}
			if (!this.loaded) {
				if (this.img.complete) {
					this.img.style.visibility = 'visible';
					this.loaded = true;
				}
			}
		},
		/* ==== light ==== */
		over : function () {
			this.parent.resize();
			this.parent.over = true;
			setOpacity(this.parent.view.img, this.parent.oP);
			this.parent.view = this;
			this.start = new Date();
			this.cpt = 0;
			this.pro = false;
			this.calc();
			setOpacity(this.img, 100);
		}
	}
	/* ==== public method - script initialization ==== */
	return {
		init : function() {
			// create instances of sliders here
			// parameters : HTMLcontainer name, speed (2 fast - 20 slow), Horizontal ratio, vertical text ratio, opacity
			this.s1 = new Slider("slider", 12, 1.84/3, 1/3.2, 70);
			setInterval("slider.s1.run();", 16);
		}
	}
}();

</script>
</head>

<body>
<br><br><br>
<p align="center"></p>
<p align="center"></p>
<p align="center"></p>
<div id="center">
	<div id="slider">
		<div class="slide">
			<img class="diapo" src="images/sf10.jpg" alt="">
			<div class="text">
				  <span class="title">The best</span>
				  The offspring of a customized orbiter, O飇ostem arose as the best balanced
				  home for our plans. So we submitted to its conditions.
			</div>
		</div>
		<div class="slide">
			<img class="diapo" src="images/sf14.jpg" alt="">
			<div class="text">
				<span class="title">Prototype</span>
				O飇ostem's deep impulse flow is selectively regulated by a molecule
				originated in the prototype model, that creates its own variational
				principles, as oriented by the first local generation of terminable androids.
			</div>
		</div>
		<div class="slide">
			<img class="diapo" src="images/sf24.jpg" alt="">
			<div class="text">
				  <span class="title">Has been reduced</span>
				  Paired hosts come out nicely after only two cycles now. Their size has been
				  reduced to a half the original as planned, and indeed they show an
				  evolutionary advantage in the process of fixing self-generated instructions.
				  Plus, they are beautiful.
			</div>
		</div>
		<div class="slide">
			<img class="diapo" src="images/sf04.jpg" alt="">
			<div class="text">
				<span class="title">By close-alikes</span>
				Now I have regained hopes in someday finding myself surrounded by
				close-alikes to us. However, they will not be audible, at least not in my
				life span. We resolved the low freq vibration a superior solution for our
				communicational goals ...
			</div>
		</div>
		<div class="slide">
			<img class="diapo" src="images/sf01.jpg" alt="">
			<div class="text">
				  <span class="title">To bear</span>
				  We did not expect their surface to produce such a carbon powder coat, though
				  this is the best model so far. I shall have to bear with the inconveniences.
				  They seem to establish a parallel communication through that carbon coat and
				  I find myself unable to decodify the signal into anything meaningful.
			</div>
		</div>
		<div class="slide">
			<img class="diapo" src="images/sf15.jpg" alt="">
			<div class="text">
				  <span class="title">The zero level</span>
				  Today a set of vibration came up from the zero level;  we expect to launch
				  the transitional program in no longer than five basetime units. Psykesoma?				  galore and we'll betray our very nature into infinite, unending 2D surfaces.
				  We do need that vibration, and we will conquer its source.
			</div>
		</div>
		<div class="slide">
			<img class="diapo" src="images/sf41.jpg" alt="">
			<div class="text">
				  <span class="title">Beautifully</span>
				  To keep my sanity I wear the tactile sensors all the time. They translate
				  beautifully; I can even see distances while still on Psykesoma. This was
				  quite a discovery. We have grown more adaptable than expected.
			</div>
		</div>
		<div class="slide">
			<img class="diapo" src="images/sf26.jpg" alt="">
			<div class="text">
				  <span class="title">Uneasy to match</span>
				  Yewoona had to travel farther and longer than I did. Her base orbiter was
				  set to keep a complex combinational path that made it uneasy to match our
				  circuits. But her nature showed stronger than programmed.
			</div>
		</div>
		<div class="slide">
			<img class="diapo" src="images/sf50.jpg" alt="">
			<div class="text">
				  <span class="title">Adapted to serve</span>
				  Keep feeding them. We will never be this lucky again; an autogenerated
				  species adapted to serve all our needs!
			</div>
		</div>
		<div class="slide">
			<img class="diapo" src="images/sf19.jpg" alt="">
			<div class="text">
				  <a class="title" href="http://www.dhteumeuleu.com">At soonest</a>
				  "Blood is dark red, iron dark blue, this tale is blissful and so are you". I
				  should get to the hotel at soonest. The agency guy must be there already,
				  with some luck we'll have some nice dinner on him. How's that?
			</div>
		</div>
	</div>
   
</div>

<script type="text/javascript">
/* ==== start script ==== */
slider.init();
</script>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</body>
</html>







附件:下载该文件资源,减少时间成本(增值服务)
留言
该资源可下载
File Source
.rar
859.73 KB
最新结算
jquery虚拟键盘中文打字效果js代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
jquery虚拟键盘中文打字效果js代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
HTML5实现CSS滤镜图片切换特效代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
jQuery头像裁剪插件cropbox js代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery头像裁剪插件cropbox js代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery+css3实现信封效果
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章