本文
介绍了一个用jQuery实现的全滚动滚动相册,以实现滚动导航的效果:
运行结果如下:
主要代码如下:
$(
函数(){())
加载
图片 VaR(#装载机=美元美元st_loading);
获取元素
var list = $(美元的# st_nav);
当前
显示图片
currimage = $(var $ ' # st_main)。儿童('img:第一);
当前图片/加载
同时显示导航项
$('')。加载(函数(){)
loader.hide美元();
(3000)currimage.fadein美元;
幻灯片导航
setTimeout(){()函数(
$list.animate ({'left':'0px'}, 500);
},
1000);
})。Attr('src,currimage.attr美元('src '));
计算的div元素缩略图的宽度显示。
BuildThumbs();
功能buildthumbs(){
list.children美元(李。专辑)。每个(function()){
var elem = $(this)美元;
VaR thumbs_wrapper美元=美元elem.find('。st_thumbs_wrapper);
VaR的大拇指= thumbs_wrapper.children美元美元(第一:);
每个缩略图的行距为180像素和3像素(边距)。
无功finalw = thumbs.find美元('img的长度×183);
thumbs.css美元('width ',finalw + 'px);
这是滚动的元素吗
makescrollable(thumbs_wrapper美元美元,大拇指);
});
}
当您单击菜单项(向下
箭头开关)时
用于显示和隐藏当前的缩略图
打开菜单(如果有的话)
list.find美元('。st_arrow_down)。活(听到咔哒声,函数(){(){
var $ = $(这个);
HideThumbs ();
this.addclass美元('st_arrow_up)。RemoveClass('st_arrow_down);
var elem = $(美元this.closest李);
elem.addclass美元(当前的)。
动画({ 'height:'170px},200);
VaR thumbs_wrapper美元= this.parent美元()一();
(200)thumbs_wrapper.show美元;
});
list.find美元('。st_arrow_up)。活(听到咔哒声,函数(){(){
var $ = $(这个);
this.addclass美元('st_arrow_down)。RemoveClass('st_arrow_up);
HideThumbs();
});
单击缩略图,更改大图
list.find美元('。st_thumbs IMG)。Bind(听到咔哒声,函数()){
var $ = $(这个);
loader.show美元();
$('')。加载(函数(){)
var $ = $(这个);
currimage = $(var $ ' # st_main)。儿童('img:第一);
this.insertbefore美元(美元currimage);
loader.hide美元();
currimage.fadeout美元(2000,函数(){)
美元(这个);
});
})。Attr('src,this.attr美元('alt '));
})。Bind('mouseenter,函数(){(){
$(这)。停止()。动画({ 'opacity':‘});
})。Bind('mouseleave,函数(){(){
$(这)。停止()。动画({ 'opacity:'0.7});
});
隐藏当前已经打开的功能菜单
功能hidethumbs(){
list.find美元(李。电流)
。动画({ 'height:'50px},400、函数()){
$(这)RemoveClass(当前的);
})
找到('。st_thumbs_wrapper)
隐藏(200)
自()。
找到('。st_link跨度)
addClass('st_arrow_down)。
removeClass('st_arrow_up);
}
是当前滚动的缩略图div层
当
鼠标移动到菜单层时,将自动滚动。
功能makescrollable($美元外,内){
额外值= 800;
获取菜单宽度
无功divwidth = outer.width美元();
删除/滚动条
outer.css美元({
溢出:隐藏的
});
容器上的最后一个图片
搜索 无功lastelem = inner.find美元('img:最后的);
(0)outer.scrollleft美元;
当
用户/鼠标左菜单
outer.unbind美元('mousemove)。Bind('mousemove功能(e){)
无功containerwidth = lastelem { 0 }。offsetleft + lastelem.outerwidth()+ 2 *额外;
VaR左=(e.pagex至outer.offset()。左)*(containerwidth divwidth) / divwidth额外;
outer.scrollleft美元(左);
});
}
});
希望本文能对大家的jQuery
程序设计有所帮助。