jq怎么写出图片滚动效果(jq实现图片滚动效果)-编程知识网

具有滚动导航效果的全屏滚动相册示例的

jQuery实现

本文描述了jQuery如何实现全屏滚动相册,具有滚动导航效果。分享给你,供你参考。如下所示:

操作效果图如下:

主要代码如下:

$(函数()

{

//加载时的图片

定义变量

$loader=

$('# st _ loading & # 39);

//获取的ul元素

定义变量

$list=

$('# st _ nav & # 39);

//当前显示的图片

定义变量

$ currImage

=

$('#st_main').children('img:first');$('# st _ main & # 39).儿童(& # 39;img:first & # 39;);

//加载当前图片

//同时显示导航的项目

$('<img>').load(function(){$('& ltimg & gt').load(function(){

$ loader . hide();

$ cur image . fade in(3000);

//滑出导航

setTimeout(function(){

$ list . animate({ & # 39;左& # 39;:'0px & # 39},500);

},

1000);

}).attr(& # 39;src & # 39,$ cur image . attr(& # 39;src & # 39));

//计算要显示的缩略图所在的div元素的宽度。

build thumbs();

功能

buildThumbs(){

$ list . children(& # 39;李.相册& # 39;).each(function(){

定义变量

$elem

=

$(这个);

定义变量

$拇指_包装器

=

$ elem . find(& # 39;.st _ thumbs _ wrapper & # 39);

定义变量

$拇指

=

$ thumbs _ wrapper . children(& # 39;:first & # 39);

//每个缩略图占据180像素的宽度和3像素的边距。

定义变量

finalW

=

$thumbs.find('img').length$ thumbs . find(& # 39;img & # 39).长度

*

183;

$ thumbs . CSS(& # 39;宽度& # 39;,最终

'px & # 39);

//此元素正在滚动。

makeScrollable($thumbs_wrapper,$ thumbs);

});

}

//点击菜单项时(上下箭头切换)

//使缩略图的div层显示并隐藏当前

//打开菜单(如果有)

$ list . find(& # 39;.st _ arrow _ down & # 39).直播(& # 39;点击& # 39;,函数(){

定义变量

$这个

=

$(这个);

hide thumbs();

$ this . addclass(& # 39;st _ arrow _ up & # 39).remove class(& # 39;st _ arrow _ down & # 39);

定义变量

$elem

=

$ this . closest(& # 39;李& # 39;);

$ elem . addclass(& # 39;当前& # 39;).动画({ & # 39;身高& # 39;:'170像素& # 39;},200);

定义变量

$拇指_包装器

=

$this.parent()。next();

$ thumbs _ wrapper . show(200);

});

$ list . find(& # 39;.st _ arrow _ up & # 39).直播(& # 39;点击& # 39;,函数(){

定义变量

$这个

=

$(这个);

$ this . addclass(& # 39;st _ arrow _ down & # 39).remove class(& # 39;st _ arrow _ up & # 39);

hide thumbs();

});

//点击缩略图可以换大图。

$ list . find(& # 39;.圣拇指

img & # 39).绑定(& # 39;点击& # 39;,函数(){

定义变量

$这个

=

$(这个);

$ loader . show();

$('<img$('& ltimg

class = & quotst _ preview & quot/& gt;').load(function(){

定义变量

$这个

=

$(这个);

定义变量

$ currImage

=

$('#st_main').children('img:first');$('# st _ main & # 39).儿童(& # 39;img:first & # 39;);

$ this . insert before($ cur image);

$ loader . hide();

$ cur image . fadeout(2000,function(){

$(这个)。移除();

});

}).attr(& # 39;src & # 39,$ this . attr(& # 39;alt & # 39));

}).绑定(& # 39;鼠标输入& # 39;,函数(){

$(这个)。停止()。动画({ & # 39;不透明度& # 39;:'1'});

}).绑定(& # 39;鼠标离开& # 39;,函数(){

$(这个)。停止()。动画({ & # 39;不透明度& # 39;:'0.7'});

});

//隐藏当前打开菜单的功能

功能

hideThumbs(){

$ list . find(& # 39;李.电流& # 39;)

.动画({ & # 39;身高& # 39;:'50px & # 39},400,function(){

$(这个)。remove class(& # 39;当前& # 39;);

})

.查找(& # 39;.st _ thumbs _ wrapper & # 39)

.隐藏(200)

.andSelf()

.查找(& # 39;.st_link

span & # 39)

.addClass(& # 39;st _ arrow _ down & # 39)

.remove class(& # 39;st _ arrow _ up & # 39);

}

//是当前缩略图div层滚动。

//当鼠标移动到菜单层时,会自动滚动。

功能

makeScrollable($outer,

$inner){

定义变量

额外的

=

800;

//获取菜单的宽度

定义变量

divWidth

=

$ outer . width();

//移除滚动条

$outer.css({

溢出:

'隐藏& # 39;

});

//找到容器上的最后一张图片

定义变量

拉斯泰伦

=

$inner.find('img:last');$ inner . find(& # 39;img:last & # 39;);

$ outer . scroll left(0);

//当用户鼠标离开菜单时

$ outer . unbind(& # 39;鼠标移动& # 39;).绑定(& # 39;鼠标移动& # 39;,函数(e){

定义变量

集装箱宽度

=

lastElem[0]。偏左

lastElem.outerWidth()

2 *额外;

定义变量

左边的

=

(e.pageX

$outer.offset()。左)

*

(集装箱宽度-分隔宽度)

/

divWidth

号外;

$outer.scrollLeft(左);

});

}

});

希望这篇文章对大家的jQuery编程有所帮助。

怎么用AJAX实现下拉滚动条动态加载数据?

我最近写过一个类似tokenbox的插件,是jQuery的,也是从数据库中把用户名读取出来,鼠标点击输入框时加载数据。但不像你这个10个10个加载。不知道你用的上不。