基于jQuery的对象切换插件:soChange 1.6
时间:2011-05-10 来源:wayshan
基于jQuery的对象切换插件:soChange 1.6 (点击下载)
所有参数:
$(obj).soChange({
thumbObj:null, //导航对象,默认为空
botPrev:null, //按钮上一个,默认为空
botNext:null, //按钮下一个。默认为空
changeType:'fade',//切换方式,可选:fade,slide,默认为fade,1.6版新增方法
thumbNowClass:'now', //导航对象当前的class,默认为now
thumbOverEvent:true,//鼠标经过thumbObj时是否切换对象,默认为true,为false时,只有 鼠标点击thumbObj才切换对象
slideTime:1000, //平滑过渡时间,默认为1000ms,为0或负值时,忽略changeType方式,切 换效果为直接显示隐藏
autoChange:true, //是否自动切换,默认为true
clickFalse:true,//导航对象如果有链接,点击是否链接无效,即是否返回return false, 默认是return false链接无效,当thumbOverEvent为false时,此项必须为true,否则鼠标点击事件冲突
overStop:true,//鼠标经过切换对象时,切换对象是否停止切换,并于鼠标离开后重启自动 切换,前提是已开启自动切换,默认开启鼠标经过对象停止切换
changeTime:5000, //对象自动切换时间,默认为5000ms,即5秒
delayTime:300 //鼠标经过时对象切换迟滞时间,推荐值为300ms
});
soChange 即 simple object change ,
此插件用来做对象切换,不仅仅适用于图片相册,也适用于选项卡类型的切换,
以上为 此插件所有参数,从前端开发角度出发,充分利用css样式的灵活性,脚本调用方式简单,
基本满足了现在常见开发中遇到的平滑过渡 效果,具体实际应用及代码参考以下的例子。
1.6版更新: 增加了一个changeType方法,可以进行渐变切换及上下移动切换,图片切换也许不太适用,但用于文字切换 还是不错的,具体请看范例3
注:此插件大小为3k(min版为1.6k),兼容全部主流浏览器,
图片右上方的小箭头图标考虑美观用了透明的 png图片,在ie6下不透明,此和样式有关,请详知。
1- 默认最简易模式
$('#change_1 .a_bigImg').soChange();
//最简易模式不带任何参数,即直接切换选择器选择的对象组,所有参数为默认:隔5秒自动切换,图片过渡效果持续1秒
//源对象为自动切换的一个数组,即其本身,非其父包装元素
//如要切换图片本身就以图片组为对象,
//如要切换层就以层组为对象
2- 带前后按钮
$('#change_2 .a_bigImg').soChange({
botPrev:'#change_2 .a_last', // 按钮,上一个
botNext:'#change_2 .a_next' // 按钮,下一个
});
3- 使用数字导航切换及自定义当前状态数字的class
$('#change_3 .a_bigImg').soChange({
thumbObj:'#change_3 .ul_change_a2 span',
//导航为数字形式,选择器指向包含数字的span 对象
thumbNowClass:'on',
//自定义导航对象当前class为on
changeTime:4000//自定义切换时间为4000ms
});
- 1
- 2
- 3
- 4
3- 定义对象切换方式为slide
$('#change_32 .a_bigImg').soChange({
thumbObj:'#change_32 .ul_change_a2 span',
//导航为数字形式,选择器指向包含数字的 span对象
thumbNowClass:'on',
//自定义导航对象当前class为on
changeTime:4000//自定义切换时间为4000ms
});
- 1
- 2
- 3
- 4
4- 切换对象为其他,这里为包含图片和标题的层
$('#change_33 div.changeDiv').soChange({
对象指向层,层内包含图片及标题
thumbObj:'#change_33 .ul_change_a2 span',
thumbNowClass:'on'
});
图片111111111说明文字,文字标题都绝对定位在div.changeDiv这个层内
图片222222222说明文字,文字标题都绝对定位在div.changeDiv这个层内
图片333333333说明文字,文字标题都绝对定位在div.changeDiv这个层内
图片444444444说明文字,文字标题都绝对定位在div.changeDiv这个层内
- 1
- 2
- 3
- 4
5- 关闭鼠标经过thumbObj切换事件,平滑过渡间歇时间为0
$('#change_34 .a_bigImg').soChange({
thumbObj:'#change_34 .ul_change_a2 span',
thumbOverEvent:false,// 关闭鼠标经过thumbObj切换事件,只有点击thumbObj时才切换对象
thumbNowClass:'on',
slideTime:0//平滑过渡间歇为0,意味着直接切换
});
- 1
- 2
- 3
- 4
6- 带导航图标及按钮
$('#change_4 .a_bigImg').soChange({
thumbObj:'#change_4 .ul_change_a1 img',
//导航图标,选择器直接指向图标对象
botPrev:'#change_4 .a_last',
botNext:'#change_4 .a_next'
});
7- 不自动切换
$('#change_5 .a_bigImg').soChange({
thumbObj:'#change_5 .ul_change_a1 img',
//导航图标,选择器直接指向图标对象
botPrev:'#change_5 .a_last',
botNext:'#change_5 .a_next',
autoChange:false //自动切换为 false,默认为true
});
8- 在选项卡上的应用
$('#change_6 div').soChange({
thumbObj:'#change_6 h3',//导航对象指向标题h3
slideTime:0,
thumbOverEvent:false,//关闭鼠标经过切换的动作
autoChange:false
});
注:这个和相册或者幻灯似乎相差比较远,但是其实原理相同,无非是鼠标触发一个,另一个发生改变,所以,应用时请开动脑筋 ,充分发挥css在页面特效中的作用