本文实例讲述了jQuery实现带滚动导航效果的全屏滚动相册。分享给大家供大家参考。具体如下:
运行效果图如下:
主要代码如下:
$(function() { //加载时的图片 var $loader= $('#st_loading'); //获取的ul元素 var $list= $('#st_nav'); //当前显示的图片 var $currImage = $('#st_main').children('img:first'); //加载当前的图片 //同时显示导航的项 $('<img>').load(function(){ $loader.hide(); $currImage.fadeIn(3000); //滑出导航 setTimeout(function(){ $list.animate({'left':'0px'},500); }, 1000); }).attr('src',$currImage.attr('src')); //计算出将被显示的略缩图所在的div元素的宽度 buildThumbs(); function buildThumbs(){ $list.children('li.album').each(function(){ var $elem = $(this); var $thumbs_wrapper = $elem.find('.st_thumbs_wrapper'); var $thumbs = $thumbs_wrapper.children(':first'); //每张略缩图占有180像素的宽度和3像素的间距(margin) var finalW = $thumbs.find('img').length * 183; $thumbs.css('width',finalW + 'px'); //是这元素具有滚动性 makeScrollable($thumbs_wrapper,$thumbs); }); } //点击菜单项目的时候(向上向下箭头切换) //使略缩图的div层显示和隐藏当前的 //打开菜单(如果有的话) $list.find('.st_arrow_down').live('click',function(){ var $this = $(this); hideThumbs(); $this.addClass('st_arrow_up').removeClass('st_arrow_down'); var $elem = $this.closest('li'); $elem.addClass('current').animate({'height':'170px'},200); var $thumbs_wrapper = $this.parent().next(); $thumbs_wrapper.show(200); }); $list.find('.st_arrow_up').live('click',function(){ var $this = $(this); $this.addClass('st_arrow_down').removeClass('st_arrow_up'); hideThumbs(); }); //点击略缩图,改变大的图片 $list.find('.st_thumbs img').bind('click',function(){ var $this = $(this); $loader.show(); $('<img class="st_preview"/>').load(function(){ var $this = $(this); var $currImage = $('#st_main').children('img:first'); $this.insertBefore($currImage); $loader.hide(); $currImage.fadeOut(2000,function(){ $(this).remove(); }); }).attr('src',$this.attr('alt')); }).bind('mouseenter',function(){ $(this).stop().animate({'opacity':'1'}); }).bind('mouseleave',function(){ $(this).stop().animate({'opacity':'0.7'}); }); //隐藏当前已经打开了的菜单的函数 function hideThumbs(){ $list.find('li.current') .animate({'height':'50px'},400,function(){ $(this).removeClass('current'); }) .find('.st_thumbs_wrapper') .hide(200) .andSelf() .find('.st_link span') .addClass('st_arrow_down') .removeClass('st_arrow_up'); } //是当前的略缩图div层滚动 //当鼠标移至菜单层的时候会自动地进行滚动 function makeScrollable($outer, $inner){ var extra = 800; //获取菜单的宽度 var divWidth = $outer.width(); //移除滚动条 $outer.css({ overflow: 'hidden' }); //查找容器上的最后一张图片 var lastElem = $inner.find('img:last'); $outer.scrollLeft(0); //当用户鼠标离开菜单的时候 $outer.unbind('mousemove').bind('mousemove',function(e){ var containerWidth = lastElem[0].offsetLeft + lastElem.outerWidth() + 2*extra; var left = (e.pageX - $outer.offset().left) * (containerWidth-divWidth) / divWidth - extra; $outer.scrollLeft(left); }); } });
希望本文所述对大家的jQuery程序设计有所帮助。
本文向大家介绍jQuery实现带滚动线条导航效果的方法,包括了jQuery实现带滚动线条导航效果的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery实现带滚动线条导航效果的方法。分享给大家供大家参考。具体分析如下: 最早见到这种导航是在魅族的官网,当时(去年)觉得挺不错的但自己不会JavaScript,因此那时“可望而不可及”。今日去手机QQ for Android官网,又发
本文向大家介绍jQuery实现背景弹性滚动的导航效果,包括了jQuery实现背景弹性滚动的导航效果的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery实现背景弹性滚动的导航效果。分享给大家供大家参考,具体如下: PS:这里再为大家推荐几款代码格式化、美化工具,相信大家在以后的开发过程中会用得到: 在线JavaScript代码美化、格式化工具: http://tools.jb51.n
本文向大家介绍jquery实现楼层滚动效果,包括了jquery实现楼层滚动效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了jquery实现楼层滚动效果展示的具体代码,供大家参考,具体内容如下 html: js: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍jquery跟随屏幕滚动效果的实现代码,包括了jquery跟随屏幕滚动效果的实现代码的使用技巧和注意事项,需要的朋友参考一下 我们在很多网站看到,当我们滚动网页时,网页内的广告或某个小区域并不会消失,而是浮动在屏幕的某个地方,特别是一些局域广告。那么这是怎么实现的呢?本文将引用乌徒帮的跟随屏幕滚动代码,对此效果做详解。 一、原始代码 下面是乌徒帮的跟随屏幕滚动代码,它的作用域为乌徒帮
本文向大家介绍jQuery实现广告条滚动效果,包括了jQuery实现广告条滚动效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了jQuery实现广告条滚动效果的具体代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍基于JavaScript实现屏幕滚动效果,包括了基于JavaScript实现屏幕滚动效果的使用技巧和注意事项,需要的朋友参考一下 屏幕滚动效果: 效果: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。