【JS+CSS3】实现带预览图幻灯片效果的示例代码_javascript技巧
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【JS+CSS3】实现带预览图幻灯片效果的示例代码_javascript技巧,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2448字,纯文字阅读大概需要4分钟。
内容图文
![【JS+CSS3】实现带预览图幻灯片效果的示例代码_javascript技巧](/upload/InfoBanner/zyjiaocheng/312/f286428b351644c792619e9a7e2f5720.jpg)
1.1 案例分析
适用场景:单例布局
1.2 方法论
V视图 HTML+CSS+调试
C js实现控制流程
D数据 优化扩展
二、代码
结构
样式(CSS略)
脚本功能开发
>>内容输出
Template改造 输出幻灯片&控制按钮 图片位置调整
>>切换控制
切换幻灯片 .main_i_active 切换控制按钮 .ctrl_i_active
0、修改VIEW ->Template(关键字替换),增加Template id
图片区
{{h2}}}
{{h3}}}
按钮区
下面是重点 JS脚本的编写~~
输出HTML的变量 var out_main = []; var out_ctrl = []; // 3.3 遍历所有数据,构建最终输出的HTML for( i in data ){ var _html_main = tpl_main .replace(/{{index}}/g,data[i].img) .replace(/{{h2}}/g,data[i].h2) .replace(/{{h3}}/g,data[i].h3) .replace(/{{css}}/g,['','main_i_right'][i%2]); var _html_ctrl = tpl_ctrl .replace(/{{index}}/g,data[i].img); out_main.push(_html_main); out_ctrl.push(_html_ctrl); } // 3.4 把HTML回写到对应的DOM里面 g("template_main").innerHTML = out_main.join(''); g("template_ctrl").innerHTML = out_ctrl.join(''); // 7、增加#main_background g('template_main').innerHTML += tpl_main .replace(/{{index}}/g,'{{index}}') .replace(/{{h2}}/g,data[i].h2) .replace(/{{h3}}/g,data[i].h3); g('main_{{index}}').id = 'main_background'; } // 5、幻灯片切换 function switchSliders(n){ // 5.1 获得要展现的幻灯片&控制按钮 DOM var main = g("main_"+n); var ctrl = g("ctrl_"+n); // 5.2 获得所有的幻灯片&控制按钮 var clear_main = g('.main_i'); var clear_ctrl = g('.ctrl_i'); // 5.3 清除他们的active样式 for(var i=0;i<clear_ctrl.length;i++){ clear_main[i].className = clear_main[i].className.replace('main_i_active',''); clear_ctrl[i].className = clear_ctrl[i].className.replace('ctrl_i_active',''); } // 5.4为当前控制按钮和幻灯片附加样式 g("main_"+n).className += ' main_i_active'; g("ctrl_"+n).className += ' ctrl_i_active'; // 7.2切换时 复制上一张幻灯片到main_background中 setTimeout(function(){ g('main_background').innerHTML = main.innerHTML; },1000); } // 6、动态调整图片的margin-top 使其垂直居中 function movePictures(){ var pictures = g('.picture'); for(i=0;i<pictures.length;i++){ pictures[i].style.marginTop = -(pictures[i].clientHeight/3) + 'px'; } } // 4、定义何时处理幻灯片输出 window.onload = function(){ addSliders(); switchSliders(1); setTimeout(function(){ movePictures(); },100) } </ script>
效果图 … = =莫吐槽又是这几张图~~~
遇到问题:
1、 给图片直接加top:50%;会有BUG,没作用,原因可能是没给height固定高度~~给了固定高度就好了
但问题又来了,2、给固定高度后,按钮组不能自适应宽度 … 会被挤到第二排去 ……
以上这篇【JS+CSS3】实现带预览图幻灯片效果的示例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
内容总结
以上是互联网集市为您收集整理的【JS+CSS3】实现带预览图幻灯片效果的示例代码_javascript技巧全部内容,希望文章能够帮你解决【JS+CSS3】实现带预览图幻灯片效果的示例代码_javascript技巧所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。