为了账号安全,请及时绑定邮箱和手机立即绑定

请问下各位大神,这段js代码如何理解?图片的渐隐渐现。

请问下各位大神,这段js代码如何理解?图片的渐隐渐现。

天空雨了 2016-07-03 16:07:03
<!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"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>js渐隐渐现图片切换效果</title> <style type="text/css"> *{margin:0;padding:0;list-style-type:none;} a,img{border:0;} body{font:12px/180% Arial, Helvetica, sans-serif, "新宋体";} /* focus */ #focus{width:380px;height:504px;margin:0 auto;} #focus div{position:absolute;width:380px;height:504px;overflow:hidden;} #focus img{width:380px;height:504px;} #focus #focus_img{display:none;} </style> </head> <body>     <div id="focus">         <div id="focus_bg"></div>         <div id="focus_show"></div>         <div id="focus_img">             <div name="focus_img" id="focus_1">images/asdfw580.jpg|http://sc.chinaz.com/|美女1号</div>             <div name="focus_img" id="focus_2">images/sfw580.jpg|http://sc.chinaz.com/|美女2号</div>         </div>         <script type="text/javascript">             var focus_id = 1;             var focus_time = 0;             var focus_bg = "";             var focus_begin = true;             var focus_interval;             var focus_count;             var focus_url = "";             var focus_title = "";             if(navigator.appName == "Microsoft Internet Explorer")             {                 focus_count = document.getElementById("focus_img").childNodes.length;             }else{                 focus_count = document.getElementsByName("focus_img").length;             }             function func_focus()             {                 if(focus_id > focus_count) focus_id = 1;                 if(!focus_begin) clearInterval(focus_interval);                 focus_interval = setInterval("focus_show(" + focus_id + ")",50);             }             function focus_show(id)             {                 if(focus_time < 20 && focus_bg != "")                 {                     var v = 100 / 20;                     if(navigator.appName=="Microsoft Internet Explorer")                     {                         document.getElementById("focus_show").style.filter = "Alpha(Opacity=" + (v * focus_time) + ")";                     }else{                         document.getElementById("focus_show").style.opacity = v * focus_time / 100;                     }                     focus_time ++;                 }else if(focus_count > 0){                     if(!focus_begin)                     {                         document.getElementById("focus_bg").innerHTML = "<img src='" + focus_bg + "' />";                         focus_time = 0;                         clearInterval(focus_interval);                     }                     var val = document.getElementById("focus_" + focus_id).innerHTML;                     var arr = val.split("|");                     if(navigator.appName=="Microsoft Internet Explorer")                     {                         document.getElementById("focus_show").style.filter = "Alpha(Opacity=0)";                     }else{                         document.getElementById("focus_show").style.opacity = 0;                     }                     document.getElementById("focus_show").innerHTML = "<a href='" + focus_url + "' target='_blank' title='" + focus_title + "'><img src='" + arr[0] + "' /></a>";                     focus_url = arr[1];                     focus_title = arr[2];                     if(focus_count > 1) focus_id ++;                     if(!focus_begin) focus_interval = setInterval("func_focus()",3000); else focus_begin = false;                     focus_bg = arr[0];                 }             }             func_focus();         </script>     </div><!--focus end--> </body> </html>
查看完整描述

1 回答

?
汉娜之眼

TA贡献42条经验 获得超27个赞


这个使用定时器实现的,跟你说一下思路吧,你给的代码感觉比较麻烦。

  1. 定义div设置导入img并定好id

  2. 编写js代码,定义函数为img透明度增减

  3. 设置定时器循环调用js的透明度变化函数

    这样就实现了图片渐隐渐现,其实就是定时器循环改变透明度而已。

查看完整回答
反对 回复 2016-07-03
  • 1 回答
  • 0 关注
  • 1392 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信