jquery实现的缩略图预览滑块实例
网络编程 2021-07-04 21:48www.168986.cn编程入门
这篇文章主要介绍了jquery实现的缩略图预览滑块,实例分析了jQuery缩略图预览滑块的实现与使用技巧,并提供了完整的实例下载,需要的朋友可以参考下
本文实例讲述了jquery实现的缩略图预览滑块。分享给大家供大家参考。具体如下
运行效果如下图所示
主要代码如下
(function($) { $.fn.thumbnailSlider = function(options) { var opts = $.extend({}, $.fn.thumbnailSlider.defaults, options); return this.each(function() { var $this = $(this), o = $.meta ? $.extend({}, opts, $pxs_container.data()) : opts; var $ts_container= $this.children('.ts_container'), $ts_thumbnails= $ts_container.children('.ts_thumbnails'), $nav_elems= $ts_container.children('li').not($ts_thumbnails), total_elems= $nav_elems.length, $ts_preview_wrapper= $ts_thumbnails.children('.ts_preview_wrapper'), $arrow= $ts_thumbnails.children('span'), $ts_preview= $ts_preview_wrapper.children('.ts_preview'); / 计算出$ts_thumbnails的尺寸 width -> width thumbnail + border (25) height -> height thumbnail + border + triangle height(6) -> -(height plus margin of 5) left-> leftDot - 0.5width + 0.5widthNavDot 当鼠标经过导航的时候它将会被设定并且默认的值将会赋给导航的第一个预览点 / var w_ts_thumbnails= o.thumb_width + 25, h_ts_thumbnails= o.thumb_height + 25 + 6, t_ts_thumbnails= -(h_ts_thumbnails + 5), $first_nav= $nav_elems.eq(0), l_ts_thumbnails= $first_nav.position().left - 0.5w_ts_thumbnails + 0.5$first_nav.width(); $ts_thumbnails.css({ width: w_ts_thumbnails + 'px', height: h_ts_thumbnails + 'px', : t_ts_thumbnails + 'px', left: l_ts_thumbnails + 'px' }); / 计算出提示箭头的上方和左边的位置 -> thumb height + border(25) left-> (thumb width + border)/2 -width/2 / var t_arrow= o.thumb_height + 25, l_arrow= (o.thumb_width + 25) / 2 - $arrow.width() / 2; $arrow.css({ left: l_arrow + 'px', : t_arrow + 'px' }); / 计算出$ts_preview的宽度->缩略图的宽度乘以所有缩略图的数量 / $ts_preview.css('width' , total_elemso.thumb_width + 'px'); / 设定 $ts_preview_wrapper 的宽度和高度 -> thumb width / thumb height / $ts_preview_wrapper.css({ width: o.thumb_width + 'px', height: o.thumb_height + 'px' }); //鼠标经过导航的元素 $nav_elems.bind('mouseenter',function(){ var $nav_elem= $(this), idx= $nav_elem.index(); / 计算出 $ts_thumbnails 最新的左侧距离 / var new_left= $nav_elem.position().left - 0.5w_ts_thumbnails + 0.5$nav_elem.width(); $ts_thumbnails.s(true) .show() .animate({ left: new_left + 'px' },o.speed,o.easing); / 动画从 $ts_preview 的左侧过渡到右边的缩略图 / $ts_preview.s(true) .animate({ left: -idxo.thumb_width + 'px' },o.speed,o.easing); //当鼠标停留的时候图片进行放大 if(o.zoom && o.zoomratio > 1){ var new_width= o.zoomratio o.thumb_width, new_height= o.zoomratio o.thumb_height; //增加 $ts_preview 的宽度为了能够让图片放大 var ts_preview_w= $ts_preview.width(); $ts_preview.css('width' , (ts_preview_w - o.thumb_width + new_width) + 'px'); $ts_preview.children().eq(idx).find('img').s().animate({ width: new_width + 'px', height: new_height + 'px' },o.zoomspeed); } }).bind('mouseleave',function(){ //如果放大了设置它的宽度和高度为默认值 if(o.zoom && o.zoomratio > 1){ var $nav_elem= $(this), idx= $nav_elem.index(); $ts_preview.children().eq(idx).find('img').s().css({ width: o.thumb_width + 'px', height: o.thumb_height + 'px' }); } $ts_thumbnails.s(true) .hide(); }).bind('click',function(){ var $nav_elem= $(this), idx= $nav_elem.index(); o.onClick(idx); }); }); }; $.fn.thumbnailSlider.defaults = { speed: 100,// 幻灯片过渡的动画速度 easing: 'jswing',// easing动画效果 thumb_width: 75,//您的图片宽度 thumb_height: 75,//您的图片高度 zoom: false,//缩略图是否放大 zoomratio: 1.3,// 放大比率(数值必须大于1) zoomspeed: 15000,//放大动画的速度 onClick: function(){return false;}//点击回发 }; })(jQuery);
完整实例代码点击此处。
希望本文所述对大家的jQuery程序设计有所帮助。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程