CSS+jQuery/JavaScript图片切换播放
2011-12-12 14:21
295 查看
主要用到的是CSS样式控制和简单的Jquery逻辑控制。
CSS:使得图片播放框的大小适合并固定,同时实现溢出隐藏,这样就可以使尚没应该播放的图片得以隐藏;另外,它还自定义手动切换按钮的效果。
Jquery:根据逻辑和设置的时间,循环移除/添加控件里面的样式class,实现图片的隐与显。
总之一句,核心原理是对图片相对位置的控制。
下面是最基本和简陋Demo。完全可以再拓展,用到函数方法的封装,OOP之类的。
页面代码:
关键的JS代码来了:
效果图很简陋,需要的可以在页面代码的CSS样式中重新自定义。
CSS:使得图片播放框的大小适合并固定,同时实现溢出隐藏,这样就可以使尚没应该播放的图片得以隐藏;另外,它还自定义手动切换按钮的效果。
Jquery:根据逻辑和设置的时间,循环移除/添加控件里面的样式class,实现图片的隐与显。
总之一句,核心原理是对图片相对位置的控制。
下面是最基本和简陋Demo。完全可以再拓展,用到函数方法的封装,OOP之类的。
页面代码:
<!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> <title></title> <script src="../script/jquery-1.7.1.js" type="text/javascript"></script> <script src="../script/keyImg.js" type="text/javascript"></script> <style type="text/css"> .img_play { } .img_play_left { position:relative; overflow:hidden; background-color:Silver; } .img_play_left img, .img_play_left { float:left; width:700px; height:400px; } .img_play_left img { position:absolute; left:700px; } .img_play_left .img_play_left_current { left:0px; } .img_play_left_btn_panel { width:100%; clear:left; } .btn { cursor:pointer; float:left; margin:2px; } .img_play_left_btn_current { background-color:#fe4020; } .img_play_left_btn_box { width:20px; height:20px; float:left; text-align:center; } </style> </head> <body> <div> <div class="img_play"> <div class="img_play_left"> <img src="../images/1.jpg" alt="img0" id="img0" class="img_play_left_current" /> <img src="../images/2.jpg" alt="img1" id="img1" /> <img src="../images/3.jpg" alt="img2" id="img2" /> </div> <div class="img_play_left_btn_panel"> <div class="btn img_play_left_btn img_play_left_btn_current" id="img_play_left_btn_0"> <div class="btn img_play_left_btn_box">1</div> </div> <div class="btn img_play_left_btn" id="img_play_left_btn_1"> <div class="btn img_play_left_btn_box">2</div> </div> <div class="btn img_play_left_btn" id="img_play_left_btn_2"> <div class="btn img_play_left_btn_box">3</div> </div> </div> </div> </div> </body> </html>
关键的JS代码来了:
$(document).ready(function () { //start var currentImgIndex = 0; var nextImgIndex = 1; var moveImgAuto = true; jQuery('.img_play_left_btn').click(function () { var tmp = parseInt(this.id.split('_')[4]); if (tmp == currentImgIndex) return; nextImgIndex = tmp; moveImgAuto = false; moveImg(); }); setInterval(moveImg, 3000); function moveImg() { var $currentImg=jQuery('#img'+currentImgIndex); var $nextImg=jQuery('#img'+nextImgIndex); var $currentBtn=jQuery('#img_play_left_btn_'+currentImgIndex); var $nextBtn=jQuery('#img_play_left_btn_'+nextImgIndex); if (nextImgIndex>currentImgIndex || moveImgAuto) { $nextImg.css('left', 700).animate({left:0}, 500); $currentImg.animate({left:-700}, 500); $currentBtn.removeClass('img_play_left_btn_current'); } else { $nextImg.css('left', -700).animate({left:0}, 500); $currentImg.animate({left:700}, 500); } $currentBtn.removeClass('img_play_left_btn_current'); $nextBtn.addClass('img_play_left_btn_current'); currentImgIndex=nextImgIndex; nextImgIndex=(currentImgIndex+1)%3; moveImgAuto=true; } //over });
效果图很简陋,需要的可以在页面代码的CSS样式中重新自定义。
相关文章推荐
- 图片按钮来代替文件上传控件(Freemaker,JQuery,HTML,CSS,JavaScript)
- 新闻图片切换播放和自动切换播放以及链接功能【js+css设计】
- jquery+css实现动感的图片切换效果
- jquery图片播放切换插件
- jquery实现的带缩略图的焦点图片切换(自动播放/响应鼠标动作)
- jquery+css实现动感的图片切换效果
- HTML-利用CSS和JavaScript制作一个切换图片的网页
- CSS+Jquery打造的一款可以自动切换(播放)的TAB滑动门效果
- 一款基于jQuery轮播切换焦点图,可播放多张图片
- Jquery+CSS实现的大气漂亮图片切换效果代码
- CSS jQuery 图片全屏切换
- html+css+js(+JQuery)制作扑克牌图片切换效果
- CSS jQuery 图片全屏切换
- div+css+javascript图片切换(淡入浅出效果)
- 一款基于jQuery轮播切换焦点图,可播放多张图片
- jQuery+css实现的切换图片功能代码
- html+css+jQuery实现多种图片简单切换功能大综合
- JavaScript Jquery 首页图片轮流播放
- jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)