JS实现图片高斯模糊切换效果的焦点图实例


Posted in Javascript onJanuary 21, 2017

焦点图相信对大家来说都不陌生,本文给大家分享的是一种图片高斯模糊切换效果的焦点图,下面话不多说了,来看看实现的效果图和实例代码吧。

效果图

JS实现图片高斯模糊切换效果的焦点图实例

实例代码

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
@-webkit-keyframes show
{
	0%{
		opacity:1;
		-webkit-transform:scale(1);
	}
	100%
	{
		opacity:.1;
		-webkit-transform:scale(3);
	}
}
body{ background:#e8d0ca;}
#wrap{width:600px; margin:100px auto;border:2px solid #000; position:relative;}
#list{ position:relative; height:310px;margin:0;padding:0; list-style:none;}
#list li{ width:281px;height:310px; background:url(http://cdn.attach.qdfuns.com/notes/pics/201701/17/113914zaxalfffaylelyxd.png) no-repeat; position:absolute;top:0; transition:.6s;}
#list span{ width:100%;height:100%; display:block;transition:.6s;}
#list li:nth-of-type(1){ left:0;z-index:1; -webkit-transform:scale(0.8);opacity:0.6;}
#list li:nth-of-type(1) span{ background:url(http://cdn.attach.qdfuns.com/notes/pics/201701/17/113914zfkmqfb0zzummnhy.png); opacity:1;}
#list li:nth-of-type(2){ left:calc(50% - 140px);background-image:url(http://cdn.attach.qdfuns.com/notes/pics/201701/17/113913nvvkf5pf4f77x55k.png);z-index:2; opacity:1;}
#list li:nth-of-type(2) span{ background:url(http://cdn.attach.qdfuns.com/notes/pics/201701/17/113914cx8x8z8ldfgckpmf.png); opacity:0;}
#list li:nth-of-type(3){ left:calc(100% - 281px);background-image:url(http://cdn.attach.qdfuns.com/notes/pics/201701/17/113914zhou55z6tlru25lu.png);z-index:1;-webkit-transform:scale(0.8); opacity:0.6;}
#list li:nth-of-type(3) span{ background:url(http://cdn.attach.qdfuns.com/notes/pics/201701/17/113914sofg7wja0c0cowjv.png); opacity:1;}
.btn{width:18px;height:29px; position:absolute;top:130px;z-index:10; cursor:pointer;}
.btn span{ position:absolute;left:0;top:0; background:inherit; width:100%;height:100%; transition:.5s;}
.btn:hover span:nth-of-type(1){-webkit-animation:show 2s infinite; }
.btn:hover span:nth-of-type(2){-webkit-animation:show 2s 1s infinite; }
#prev{ left:80px; background:url(http://cdn.attach.qdfuns.com/notes/pics/201701/17/113915d96e0acuyjccybcb.png) no-repeat;}
#next{ right:80px; background:url(http://cdn.attach.qdfuns.com/notes/pics/201701/17/113915kfhwnrawaeaibf6a.png) no-repeat;}
</style>
</head>
<body>
<div id="wrap">
	<ul id="list">
 	<li>
 	<span></span>
 </li>
 <li>
 	<span></span>
 </li>
 <li>
 	<span></span>
 </li>
 </ul>
 <div id="prev" class="btn">
 	<span></span>
 <span></span>
 </div>
 <div id="next" class="btn">
 	<span></span>
 <span></span>
 </div>
</div>
<script>
window.onload=function()
{
	var oList=document.getElementById("list");
	var aLi=oList.children;
	var oPrev=document.getElementById("prev");
	var oNext=document.getElementById("next");
	var arr=[];
	//arr.unshift(arr.pop());把最后一个删除添加到数组第一个
	//arr.push(arr.shift());把第一个删除添加到数组第一个
 //获取li的信息
	for(var i=0;i<aLi.length;i++)
	{
		var oSpan=aLi[i].children[0];
		arr[i]={left:getStyle(aLi[i],"left"),opacity:getStyle(aLi[i],"opacity"),scale:getStyle(aLi[i],"-webkit-transform"),zIndex:getStyle(aLi[i],"z-index"),alpha:getStyle(oSpan,"opacity")};
	}
	oPrev.onclick=function()
	{
		arr.unshift(arr.pop());
		toStyle();
	};
	oNext.onclick=function()
	{
		arr.push(arr.shift());
		toStyle();
	};
	function toStyle()
	{
		for(var i=0;i<aLi.length;i++)
		{
			var oSpan=aLi[i].children[0];
			aLi[i].style.left=arr[i].left;
			aLi[i].style.opacity=arr[i].opacity;
			aLi[i].style.WebkitTransform=arr[i].scale;	
			aLi[i].style.zIndex=arr[i].zIndex;	
			oSpan.style.opacity=arr[i].alpha;
		}	
	}
};
function getStyle(obj,attr)
{
 if( obj.currentStyle){
  return obj.currentStyle[attr]; 
 }
 return getComputedStyle(obj)[attr]; 
}
</script>
</body>
</html>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
JS版网站风格切换实例代码
Oct 06 Javascript
javascript显示选择目录对话框的代码
Nov 10 Javascript
在VS2008中使用jQuery智能感应的方法
Dec 30 Javascript
仿百度输入框智能提示的js代码
Aug 22 Javascript
深入理解Javascript中的循环优化
Nov 09 Javascript
jQuery表格列宽可拖拽改变且兼容firfox
Sep 03 Javascript
jQuery插件jquery-barcode实现条码打印的方法
Nov 25 Javascript
获取阴历(农历)和当前日期的js代码
Feb 15 Javascript
基于javascript bootstrap实现生日日期联动选择
Apr 07 Javascript
JS实现随机颜色的3种方法与颜色格式的转化
Jan 05 Javascript
jquery 实现复选框的全选操作实例代码
Jan 24 Javascript
Echarts基本用法_动力节点Java学院整理
Aug 11 Javascript
js实现用户输入的小写字母自动转大写字母的方法
Jan 21 #Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
Jan 21 #Javascript
利用transition实现文字上下抖动的效果
Jan 21 #Javascript
jQuery Ajax实现跨域请求
Jan 21 #Javascript
three.js快速入门【推荐】
Jan 21 #Javascript
详解Angualr 组件间通信
Jan 21 #Javascript
js的三种继承方式详解
Jan 21 #Javascript
You might like
NO3第三帝国留言簿制作过程
2006/10/09 PHP
php ZipArchive压缩函数详解实例
2013/11/06 PHP
Laravel监听数据库访问,打印SQL的例子
2019/10/24 PHP
js innerHTML 的一些问题的解决方法
2008/06/22 Javascript
JavaScript 创建对象和构造类实现代码
2009/07/30 Javascript
javascript权威指南 学习笔记之变量作用域分享
2011/09/28 Javascript
jquery限定文本框只能输入数字即整数和小数
2013/11/29 Javascript
深入理解jQuery layui分页控件的使用
2016/08/17 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
2016/11/10 Javascript
Vue.js render方法使用详解
2017/04/05 Javascript
vue params、query传参使用详解
2017/09/12 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
详解Vue的钩子函数(路由导航守卫、keep-alive、生命周期钩子)
2018/07/24 Javascript
JavaScript变量作用域及内存问题实例分析
2019/06/10 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
2019/07/16 jQuery
使用layui实现树形结构的方法
2019/09/20 Javascript
微信小程序自定义tabBar在uni-app的适配详解
2019/09/30 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
[01:14]DOTA2 7.22版本新增神杖效果展示(智力英雄篇)
2019/05/29 DOTA
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
Linux下python制作名片示例
2018/07/20 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
区分python中的进程与线程
2020/08/13 Python
Restful_framework视图组件代码实例解析
2020/11/17 Python
日本钓鱼渔具和户外用品网上商店:naturum
2016/08/07 全球购物
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
生产班组长岗位职责
2014/01/05 职场文书
幼儿教师师德演讲稿
2014/05/06 职场文书
体育比赛口号
2014/06/09 职场文书
公司租车协议书
2015/01/29 职场文书
小学五一劳动节活动总结
2015/02/09 职场文书
特岗教师个人总结
2015/02/10 职场文书
2015年教师党员自我评价材料
2015/03/04 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
MySQL示例讲解数据库约束以及表的设计
2022/06/16 MySQL