自适应图片宽度的jQuery焦点幻灯轮播代码
2013-10-31 22:17
579 查看
自适应图片宽度的jQuery焦点幻灯轮播代码
注意要1.7.2版本的jq才支持点击后显示点击的图片,不然就是一直顺序播放![](http://freejs.net/demo/72/demo.jpg)
演示
XML/HTML Code
<div id="slide_box">
<!-- 幻灯片图片 -->
<ul class="slide_img">
<li><a href=""><img src="1.jpg" width="800" height="450" alt=""></a></li>
<li><a href=""><img src="2.jpg" width="735" height="450" alt=""></a></li>
<li><a href=""><img src="3.jpg" width="371" height="450" alt=""></a></li>
<li><a href=""><img src="4.jpg" width="700" height="450" alt=""></a></li>
<li><a href=""><img src="5.jpg" width="650" height="450" alt=""></a></li>
<li><a href=""><img src="6.jpg" width="670" height="450" alt=""></a></li>
<li><a href=""><img src="7.jpg" width="575" height="450" alt=""></a></li>
</ul>
<!-- 幻灯片序列号 -->
<div id="slide_order"></div>
<div style="clear:both;"></div>
</div>
JavaScript Code
/**
* JS文件
*/
// 在Chrome测试时一直无法支持jQuery的 $(function(){}) 和 $(document).ready(),所以改用原生window.onload;
window.onload = function (){
/**
* box 幻灯片外框(div)
* uls 幻灯片图片外框(ul)
* order 图片序列号外框(div)
* lis 图片外框(li)
* wdiths 图片集的总宽度
* runtime 定时器自行时间(毫秒)
* latency 定时器延迟时间(毫秒)
* control 控制器,控制定时器的执行
* num 当前li标签在兄弟集合中的位置
* winW 浏览器可视区域宽度
*/
var box = $('#slide_box'),uls = $('ul.slide_img'),order = $('#slide_order',box),lis = $('li',uls),widths = 0,runtime = 600,latency = 2000,control,num = 0,winW = $(window).width();
// 计算li标签宽度总和与插入img序号
for (var i = 0; i < lis.length; i++) {
widths += lis.eq(i).width();
order.append('<a href="javascript:vide(0)">'+(i+1)+'</a>');
};
// 设置ul的宽度等于所有li标签宽度的总和;
uls.width(widths);
// 设置box位置居中
box.css({left : (winW - box.width())/2});
// 给第一个序号'1'添加class
order.find('a').removeClass('current').eq(num).addClass('current');
//规定时间后执行函数
control = setTimeout( slide, latency );
// 幻灯片自动运行函数
function slide () {
// 初始化width
var width = 0;
num = num < lis.length - 1 ? (num + 1) : 0;
// box旧的宽度
var old_box_width = box.width();
// box新的宽度
var lis_now_width = lis.eq(num).width();
// 改变box的宽度 = 当前图片的宽度 和 left值
box.animate({width : lis_now_width,left : (winW - lis_now_width)/2},runtime);
// 计算第一张图到当前图片的宽度总和
for (var j = 0; j < num; j++) {
width += lis.eq(j).width();
};
// 设置当前的序号添加class
order.find('a').removeClass('current').eq(num).addClass('current');
// 改变ul的left值
uls.animate({left: 0 - width}, runtime, function () {
control = setTimeout( slide, latency );
});
}
// 点击图片序号函数
$('a',order).live({
click: function () {
// 立即停止uls当前正在执行的动作
uls.stop();
//清除定时器
clearTimeout(control);
num = $(this).index() - 1;
slide();
}
});
};
原文地址:http://www.freejs.net/article_jiaodiantu_72.html
相关文章推荐
- 自适应图片宽度的jQuery焦点幻灯轮播代码
- jQuery右侧选项卡焦点图片轮播特效代码分享
- jQuery右侧选项卡焦点图片轮播特效代码分享
- jquery实现带左右箭头和数字焦点的图片轮播手写代码
- jquery 图片宽度自适应滚动代码
- jquery实现带左右箭头和数字焦点的图片轮播手写代码 (转)
- jquery全屏幻灯轮播焦点图
- jquery 图片轮播 代码
- jQuery 图片轮播的代码分离
- [转]jQuery实现图片轮播效果,jQuery实现焦点新闻
- 基于jquery实现的仿优酷图片轮播特效代码
- jquery图片轮播代码
- 又一个jquery轮播效果,焦点图,带数字显示序号,这个可以添加对应标题在图片上,支持主流浏览器
- jquery图片轮播效果代码
- jQuery实现图片轮播特效代码分享
- Jquery 焦点图 用于图片展示效果代码
- Javascript图片幻灯代码(无jquery)
- 又一个jquery轮播效果,焦点图,带数字显示序号,这个可以添加对应标题在图片上,支持主流浏览器
- jquery中加载图片自适应大小主要实现代码
- jQuery图片轮播(焦点图)插件