问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求js特效:图片可以左右切换,且点击某张图片会弹出大图,同时大图也可 ...

发布网友 发布时间:2022-04-25 14:57

我来回答

1个回答

热心网友 时间:2022-04-22 15:24

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="css/style.css" rel="stylesheet" />
<script src="js/js.js" type="text/javascript"></script>
</head>
<body>
<div class="lp_wrap">
<div class="lp_left"></div>
<div class="lp_main">
<ul>
<li><img src="images/1.jpg" alt="我是1" /></li>
<li><img src="images/2.jpg" alt="我是2" /></li>
<li><img src="images/3.jpg" alt="我是2" /></li>
<li><img src="images/4.jpg" alt="我是2" /></li>
<li><img src="images/5.jpg" alt="我是2" /></li>
<li><img src="images/6.jpg" alt="我是2" /></li>
<li><img src="images/7.jpg" alt="我是2" /></li>
<li><img src="images/8.jpg" alt="我是2" /></li>
</ul>
</div>
<div class="lp_right"></div>
</div>


<!--隐藏域-->
<div class="lp_alert">
<div class="lp_aleft"></div>
<div class="lp_aimg" style="width:540px; height:400px;">
<img src="images/1.jpg" />
<span></span>
<font></font>
</div>
<div class="lp_aright"></div>
<div class="clear"></div>
</div>
<div class="zhezhao"></div>
<!--隐藏域-->
</body>
</html>



window.onload = function (){
function getClass(className){
var get = document.getElementsByTagName('*');
var arr = [];
for(var i = 0; i < get.length; i ++){
if(get[i].className == className){
arr.push(get[i]);
}
}
return arr;
}

function lp(lp1,lp2,lp3,lp4,lp5,lp6,lp7){
var wrap = getClass(lp1)[0];
var ul = getClass(lp2)[0].getElementsByTagName('ul')[0];
var li = ul.getElementsByTagName('li');
var mar_r = 10; //margin-right 
var w = li[0].offsetWidth + mar_r; 
var l = li.length;
var max = w * l;
var setIndex = 0;
var lp_aleft = getClass(lp3)[0];
var lp_img = getClass(lp4)[0];
var img = lp_img.getElementsByTagName('img')[0];
var font = lp_img.getElementsByTagName('font')[0];
var lp_aright = getClass(lp5)[0];
var lp_zhezhao = getClass(lp6)[0];
var lp_wrap = getClass(lp7)[0];
var lp_iw = 540; //为弹出 元素宽  ps:隐藏元素获取不到宽 高,估 写死值
var lp_ih = 400; //为弹出 元素高
//获取屏幕宽高
var wid = document.body.clientWidth | document.documentElement.clientWidth;
var hei = document.body.clientHeight | document.documentElement.clientHeight;
//求值居中
function left(n,w){
return (n - w) / 2;
}
function top(n,h){
return (n - h) / 2;
}
lp_img.style.left = left(wid,lp_iw) + 'px';
lp_img.style.top = top(hei,lp_ih) + 'px';
lp_aleft.style.top = top(hei,lp_aleft.offsetHeight) + 'px';
lp_aright.style.top = top(hei,lp_aleft.offsetHeight) + 'px';
lp_zhezhao.style.width = wid + 'px';
lp_zhezhao.style.height = hei + 'px';
//窗口改变大小
window.onresize = function (){
console.log(lp_img.offsetWidth);
wid = document.body.clientWidth | document.documentElement.clientWidth;
hei = document.body.clientHeight | document.documentElement.clientHeight;
lp_img.style.left = left(wid,lp_img.offsetWidth) + 'px';
lp_img.style.top = top(hei,lp_img.offsetHeight) + 'px';
lp_aleft.style.top = top(hei,lp_aleft.offsetHeight) + 'px';
lp_aright.style.top = top(hei,lp_aleft.offsetHeight) + 'px';
lp_zhezhao.style.width = wid + 'px';
lp_zhezhao.style.height = hei + 'px';
}

for(var i = 0; i < l; i ++){
ul.appendChild(li[i].cloneNode(true));
}

for(var i = 0; i < li.length; i ++){
li[i].index = i;
li[i].onclick = function (){
_this = this;
img.src = this.getElementsByTagName('img')[0].src
font.innerHTML = this.getElementsByTagName('img')[0].alt;
lp_wrap.style.display = 'block';
lp_zhezhao.style.display = 'block';

lp_aleft.onclick = function (){
_this.index --;
if(_this.index < 1){
_this.index = 0;
alert('当前第一张');
}
console.log(_this.index);
img.src = li[_this.index].getElementsByTagName('img')[0].src
font.innerHTML = li[_this.index].getElementsByTagName('img')[0].alt;
}
lp_aright.onclick = function (){
_this.index ++;
if(_this.index >= li.length){
_this.index = li.length - 1;
alert('最后一张');
}
img.src = li[_this.index].getElementsByTagName('img')[0].src
font.innerHTML = li[_this.index].getElementsByTagName('img')[0].alt;
}
}
}

var stop = setInterval(setl,30);

function setl(){
if(setIndex >= max){
setIndex = 0;
}
setIndex ++;
ul.style.left = -setIndex + 'px';
}

wrap.onmouseover = function (){
clearInterval(stop);
}
wrap.onmouseout = function (){
stop = setInterval(setl,30);
}
}
new lp('lp_wrap','lp_main','lp_aleft','lp_aimg','lp_aright','zhezhao','lp_alert');
}

*{ margin:0; padding:0; list-style:none; }

.clear{ clear:both; }
.lp_wrap{ width:900px; margin:0 auto; }
.lp_main{ width:835px; margin-left:17px; height:188px; overflow:hidden; float:left; position:relative; }
.lp_main ul{ width:1000em; position:absolute; }
.lp_main ul li{ float:left; margin-right:10px; }
.lp_main ul li img{ width:253px; height:188px; }
.lp_left{ background:url(../images/left_arrow.jpg) 0 50% no-repeat; width:15px; height:188px; float:left; }
.lp_right{ background:url(../images/right_arrow.jpg) 0 50% no-repeat; width:15px; height:188px; float:right; }

.zhezhao{ display:none; background:#000; opacity:0.3; position:fixed; top:0; left:0; z-index:233;}
.lp_aleft{ background:url(../images/aleft.png) no-repeat; width:35px; cursor:pointer; height:63px; margin-left:165px; }
.lp_alert{height:0; width:1000px; margin:0 auto; display:none;}
.lp_aimg,.lp_aleft,.lp_aright{ position:absolute; z-index:234;}
.lp_aright{ background:url(../images/aright.png) no-repeat; width:35px; cursor:pointer; height:63px; margin-left:800px; }
.lp_aimg span{ width:540px; height:30px; background:#000; display:block; opacity:0.5; position:absolute; margin-top:-33px; }
.lp_aimg font{ width:540px; height:30px; margin-top:-33px; display:block; color:#fff; font-size:14px; position:absolute; line-height:30px; text-align:center; }

以前练习的时候做的,你看看,合胃口?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
巧师傅榴莲千层蛋糕(6寸500g)-适用对象 巧师傅 榴莲千层蛋糕 6寸 500g-马来西亚苏丹王榴莲肉,口感鲜甜软糯_百... 巧师傅榴莲千层蛋糕500g-精选苏丹王榴莲果肉,口感浓郁 巧师傅苏丹王榴莲千层蛋糕-适用对象 阿卡丽和卡特琳娜,哪一个比较好。 英雄联盟阿卡丽和卡特琳纳哪个比较好…为什么? 求大神分析 阿卡丽和卡特琳娜单挑 谁会赢? 河北5+3临床医学有哪些学校 ...块数比20多,比40少,5块5块地数正好数完,2块2块地数也正好数完?_百... ...比20小,它3个3个数或4个4个数都正好数完,这个数是多少..._百度知... 求jojo的奇妙冒险的一首歌名 如何管理服务器的nginx配置 JavaScript 的网页图片切换代码 求《纨绔》FT,假相的一些歌曲,还有漠然的一些广播剧和歌曲(一定要有《疯魔》)xychen1264@qq.com谢谢 甲乙丙类传染病共有多少种? jojo的奇妙冒险第二部op罗马音歌词 js网页编程高手进来-实现图片切换效果 怎么用JS特效去做一个网页背景图片切换?(带略缩图) 《JOJO的奇妙冒险》的OP有热血加成吗?你喜欢哪首? 传染病分几l类 兰州大学信息科学与工程学院 电子与通信工程专业的研究生导师(带专业型硕士)有那些? 寻网页中JS实现的图片切换特效 梅花档案2剧情 javascript 怎样实现图片动态切换 求jojo的奇妙冒险不灭钻石op1《Crazy Noisy Bizarre Town》平假名歌词 求JoJo奇妙冒险第三部的op和ed名,最好附歌手 请问JOJO的奇妙冒险第三部OP叫什么名字? 求JOJO第一部OP(ジョジョ~その血の运命)的歌词,要带日文平假名注释的 nginx 配置 gzip 是全局的么 jojo的奇妙冒险第四部op3 great days歌词的罗马音 abbyy finereader v9 免费下载,发xychen612@163.com,谢谢啦! nginx配置问题? jojo的奇妙冒险第二部三个石柱人出场的那首歌叫什么? 《未见萤火虫》谁有啊 帮忙发到我邮箱里吧! 如果满意还可以加分!~3Q~ 我的邮箱为: xychenyiran@126.com 怎样利用js实现图片的转换的?? 我的电脑老是频繁黑屏,大家帮忙解决一下!! 传染病防治法规定甲乙丙各有几种 求JOJO的奇妙冒险 OP1的罗马歌词 ジョジョ~その血の运命~ 关于菜鸟的javascript... 我自学了javascript,懂了一点点 今天自己上网... 电脑蓝屏重启,磁盘检查后等待时间太长。 请问哪里可以下载到xy助手电脑版? 最新的法定传染病有40种,甲乙丙三类分别是哪些? 用JavaScript如何实现图片切换(image gallery),左右按钮功能如何实现... 电脑C盘中xylog是什么文件夹,可以删除吗 JOJO奇妙冒险中有多少关于摇滚的乐队歌手或者歌名的替身? 在电脑显示屏幕 坐标是如何显示的? 求JOJO的奇妙冒险第三季第八集插曲名 传染病类型为何有甲乙类之分 JS特效的实现,图片特效的变动 逶迤磅礴形容山的什么?