富贵资源网 Design By www.hznty.com
网页上有许多图片切换的幻灯片效果,它们大多用flash实现,那javascript能不能实现他们呢,当然可以,我自己写了一个,和大家一同分享
废话少说,看代码
复制代码 代码如下:
sx.activex.imagefade={
init:function(imga,fadeint,fadeoutt){
var ti=new Array();
for(var i=0;i<imga.length;i++){
ti[i]=new Image();
ti[i].src=imga[i]
}
var div=document.createElement("div");
var img=document.createElement("img");
img.src=ti[0].src;
var span=document.createElement("span")
span.style.backgroundColor="yellow";
var a=[];
for(var i=0;i<imga.length;i++){
a[i]=document.createElement("a")
a[i].style.backgroundColor="red";
a[i].style.width="10px";
a[i].style.margin="2px";
a[i].href="javascript:void(0)";
a[i].onclick=function(r){
return function(){
var t=100;
var t1=0;
var h=window.setInterval(function(){
if(t>=0){
img.style.filter="alpha(opacity="+t+");";
t=t-2;}
else{
window.clearInterval(h);
img.src=ti[r].src;
var h1=window.setInterval(function(){
if(t1<=100){
img.style.filter="alpha(opacity="+t1+");";
t1=t1+2;}
else{
window.clearInterval(h1);
}
},fadeint);
}
},fadeoutt);
}
}(i);
a[i].innerText=i+1;
span.appendChild(a[i]);
}
div.style.position="absolute";
div.style.height="200px";
div.style.width="200px";
div.appendChild(img);
img.style.height="100%";
img.style.width="100%";
span.style.position="absolute";
span.style.right="10px";
span.style.bottom="10px";
div.appendChild(span);
return div;
}
}
调用的html
复制代码 代码如下:
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
<script src="/UploadFiles/2021-04-02/kongjian.js"><script>
var a=sx.activex.imagefade.init(["1.jpg","1 (1).jpg"],10,10);
a.style.height="400px";
a.style.width="400px";
//a.all[1].style.backgroundColor="green";
document.body.appendChild(a);
</script>
</body>
</html>
上面的js函数的第一个参数是你要的图片的地址所组成的数组,第二个参数是图片淡出的timer,第三个参数是淡入的timer.
这段js的关键是a[i].onclick这段代码,注意这里套用了两个setintertval,并用了闭包,在赋值时要当心了.
有什么疑问的话还请多多交流啊
废话少说,看代码
复制代码 代码如下:
sx.activex.imagefade={
init:function(imga,fadeint,fadeoutt){
var ti=new Array();
for(var i=0;i<imga.length;i++){
ti[i]=new Image();
ti[i].src=imga[i]
}
var div=document.createElement("div");
var img=document.createElement("img");
img.src=ti[0].src;
var span=document.createElement("span")
span.style.backgroundColor="yellow";
var a=[];
for(var i=0;i<imga.length;i++){
a[i]=document.createElement("a")
a[i].style.backgroundColor="red";
a[i].style.width="10px";
a[i].style.margin="2px";
a[i].href="javascript:void(0)";
a[i].onclick=function(r){
return function(){
var t=100;
var t1=0;
var h=window.setInterval(function(){
if(t>=0){
img.style.filter="alpha(opacity="+t+");";
t=t-2;}
else{
window.clearInterval(h);
img.src=ti[r].src;
var h1=window.setInterval(function(){
if(t1<=100){
img.style.filter="alpha(opacity="+t1+");";
t1=t1+2;}
else{
window.clearInterval(h1);
}
},fadeint);
}
},fadeoutt);
}
}(i);
a[i].innerText=i+1;
span.appendChild(a[i]);
}
div.style.position="absolute";
div.style.height="200px";
div.style.width="200px";
div.appendChild(img);
img.style.height="100%";
img.style.width="100%";
span.style.position="absolute";
span.style.right="10px";
span.style.bottom="10px";
div.appendChild(span);
return div;
}
}
调用的html
复制代码 代码如下:
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
<script src="/UploadFiles/2021-04-02/kongjian.js"><script>
var a=sx.activex.imagefade.init(["1.jpg","1 (1).jpg"],10,10);
a.style.height="400px";
a.style.width="400px";
//a.all[1].style.backgroundColor="green";
document.body.appendChild(a);
</script>
</body>
</html>
上面的js函数的第一个参数是你要的图片的地址所组成的数组,第二个参数是图片淡出的timer,第三个参数是淡入的timer.
这段js的关键是a[i].onclick这段代码,注意这里套用了两个setintertval,并用了闭包,在赋值时要当心了.
有什么疑问的话还请多多交流啊
富贵资源网 Design By www.hznty.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
富贵资源网 Design By www.hznty.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。