原生JS写的一个书架式的图片缩放滚动展示特效代码

<!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" lang="en">
<head>
    <title>demo 石家庄展柜厂|石家庄非标门</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="author" content="[email protected]" />
    <style type="text/css">
#bookrack { width: 600px; margin: auto; } #bookrack a { text-align: center; text-decoration: none; font-size: 12px; } #bookrack span { display: none; position: absolute; color: #fff; background: #000000; background: rgba(0, 0, 0, 0.5); padding: 5px; top: 30px; left: 0; } #bookrack span big { color: red; font-size: 14px; } #bookrack img { width: 100%; height: 100%; display: block; border: 0; }
    </style>
</head>
<body>
<div id="bookrack">
    <a href="http://js.alixixi.com" title="网页特效"><img src="http://www.alixixi.cn/images/index/t1.gif" alt="阿里西西" /></a>
    <a href="http://js.alixixi.com" title="网页特效"><img src="http://www.alixixi.cn/images/index/t2.gif" alt="阿里西西" /></a>
    <a href="http://js.alixixi.com" title="网页特效"><img src="http://www.alixixi.cn/images/index/t3.gif" alt="阿里西西" /></a>
    <a href="http://js.alixixi.com" title="网页特效"><img src="http://www.alixixi.cn/images/index/t4.gif" alt="阿里西西" /></a>
    <a href="http://js.alixixi.com" title="网页特效"><img src="http://www.alixixi.cn/images/index/t5.gif" alt="阿里西西" /></a>
    <a href="http://js.alixixi.com" title="网页特效"><img src="http://www.alixixi.cn/images/index/t6.gif" alt="阿里西西" /></a>
    <a href="http://js.alixixi.com" title="网页特效"><img src="http://www.alixixi.cn/images/index/t7.gif" alt="阿里西西" /></a>
    <a href="http://js.alixixi.com" title="网页特效"><img src="http://www.alixixi.cn/images/index/t8.gif" alt="阿里西西" /></a>
    <a href="http://js.alixixi.com" title="网页特效"><img src="http://www.alixixi.cn/images/index/t9.gif" alt="阿里西西" /></a>
</div>

<script type="text/javascript">
var Bookrack=function(a,b,c,e){this.scale=e||0.4;this.x=b||120;this.y=c||160;this.border=2;this.init(a);this.exec(Math.ceil(Math.random()*this.imgs.length))};
Bookrack.prototype={init:function(a){this.width=a.clientWidth-2*this.x*this.scale;a.style.position="relative";a.style.height=this.y+"px";this.imgs=a.getElementsByTagName("a");var b=this,c=document.createElement("span"),e,d;this.each(function(a,g){a.style.position="absolute";a.style.bottom="0";a.style.border=this.border+"px solid gray";a.style.left=this.width*(g/this.imgs.length)+2*this.border+"px";a.setAttribute("dir",g);d=a.getElementsByTagName("img")[0].getAttribute("alt").split("|");e=c.cloneNode(!0);
e.innerHTML=a.getAttribute("title")+"/"+d[0]+"/\u7b2c"+d[1]+"\u7ae0/\u7b2c<big>"+d[2]+"</big>\u9875";a.appendChild(e);a.onmouseover=function(){b.exec(this.getAttribute("dir"))}})},each:function(a){for(var b=0,c;c=this.imgs[b++];)a.call(this,c,b,this.imgs.length)},color:function(a){a=(~~(255*a)).toString(16);2>a.length&&(a="0"+a);a=a.substr(0,2);return"#"+a+a+a},exec:function(a){this.each(function(b,c,e,d,f){b.getElementsByTagName("span")[0].style.display="none";c==a&&(b.getElementsByTagName("span")[0].style.display=
"block");d=Math.min(c/a,a/c);f=Math.sin(90*(Math.PI/180)*d)*(1-this.scale);b.style.zIndex=Math.ceil(1E4*f);b.style.borderColor=this.color(f+this.scale);b.style.width=this.x*(f+this.scale)-2*this.border+"px";b.style.height=this.y*(f+this.scale)-2*this.border+"px";b.style.marginLeft=this.x*f/-2+"px"})}};
    new Bookrack(document.getElementById(‘bookrack‘), 120, 160);
</script>
</body>
</html>
时间: 2024-12-29 11:29:03

原生JS写的一个书架式的图片缩放滚动展示特效代码的相关文章

原生js写的一个弧形菜单插件

弧形菜单是一种半弧式或者全弧形菜单,是一种不同于传统横向或者竖向菜单形式的菜单.最近在网上看到好多人写出了这种效果,于是也尝试自己写了一个. 实现方式:原生态js 主要结构: 1.参数合并 1 var defaultPra = { 2 mainMenuId: "ArcMenu",//主菜单id 3 menuBoxId:"menuBox",//菜单包裹id 4 position: "",//弧形菜单 5 customPosition:"0

原生JS写了一个小demo,根据输入的数字生成不同背景颜色的小方块儿~

昨天练习写了这个小demo,个人觉得通过设置定位元素left和top的值,来实现换行的功能,这种方法很巧妙~ 另外,如下代码中的随机颜色的获取,还请各位前辈多多指教:需要改进的地方:或者有没有更好的方法. 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <style type="text

原生js写的一个当前年份日期星期和时间的显示

话不多说,所有代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>当前时间显示 </title> </head> <body onload="startTime()"> <d

原生JS写的ajax函数

参照JQuery中的ajax功能,用原生JS写了一个ajax,功能相对JQuery要少很多,不过基本功能都有,包括JSONP. 调用的方式分为两种: 1. ajax(url, {}); 2. ajax({}); 调用的方法参照JQuery的ajax,只是 不需要写$.ajax ,只需要写 ajax 就可以了. 代码如下: !function () { var jsonp_idx = 1; return ajax = function (url, options) { if (typeof url

用原生JS写移动动画案例及实际应用

js很强大 相信很多人都知道,那么它有哪些强大之处呢?有兴趣的人可以去查查,这里就不赘述了,因为不在本片文章讨论的范围. 我们要讲的是怎么用原生JS写移动动画?我们先举一个最简单的动画例子,很多网站的左边或右边会有个分享的框,鼠标放上去就还移出一个列表,里面是要分享的地址.鼠标移开,就会移进去. 要实现这个效果要怎么做呢? 可以想一想,鼠标经过和鼠标离开很好理解 用onmousemove事件和onmouseout事件就能完成. 那移动动画呢?我们可以一步一步思考, 首先,一开始是这样的 完成移动

用js写的一个路由

前几天在院子里看了一个大牛用js写了一个路由的,有一句代码一直不知道怎么回事,后来就自己写了一个,写的比较的粗糙,我觉得把面向对象的思想都搞得乱七八糟的,不过功能实现了. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js实现路由</title> </head> <body> &

原生js写的贪吃蛇网页版游戏

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>原生js写的贪吃蛇网页版游戏</title> </head> <body><div><A href="http://www.999jiujiu.com/">h

写的一个段落标签文字内容两端对齐的代码

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="

js图片点击放大特效代码

原文:js图片点击放大特效代码 源代码下载:http://www.zuidaima.com/share/1550463485676544.htm 图片放大js代码实现,运行效果如下: