手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >jQuery焦点图切换特效插件封装实例
jQuery焦点图切换特效插件封装实例
摘要:网站焦点图是一种网站内容的展现形式,可简单理解为一张图片或多张图片展现在网页上就是网站焦点图。在网站很明显的位置,用图片组合播放的形式,类似...

网站焦点图是一种网站内容的展现形式,可简单理解为一张图片或多张图片展现在网页上就是网站焦点图。在网站很明显的位置,用图片组合播放的形式,类似焦点新闻的意思只不过加上了图片。一般多使用在网站首页版面或频道首页版面,因为是通过图片的形式,所以有一定的吸引性、视觉吸引性。容易引起访问者的点击,据国外的设计机构调查统计,网站焦点图的点击率明显高于纯文字,转化率高于文字标题5倍。由此看来焦点图的能让游客对企业的第一印象大大提升,下面就给大家介绍一个我们项目中封装使用的漂亮大气的全屏焦点图。如下图所示:

jQuery焦点图切换特效插件封装实例1

可添加多个 图片,设定图片链接,导航随鼠标移动切换图片,在发布文章的时候把图片压缩了有点失真。

使用本特效首先需要引入对jquery的使用,插件已经封装成jquery函数,代码如下:

复制代码 代码如下:

/*

* jQuery图片轮播(焦点图)插件

*/

(function ($) {

$.fn.slideBox = function (options) {

var defaults = {

direction: 'left',

duration: 0.6,

easing: 'swing',

delay: 3,

startIndex: 0,

hideClickBar: true,

clickBarRadius: 5,

hideBottomBar: false

};

var settings = $.extend(defaults, options || {});

var wrapper = $(this),

ul = wrapper.children('ul.items'),

lis = ul.find('li'),

firstPic = lis.first().find('img');

var li_num = lis.size(),

li_height = 0,

li_width = 0;

var order_by = 'ASC';

var init = function () {

if (!wrapper.size()) return false;

li_height = lis.first().height();

li_width = lis.first().width();

wrapper.css({

width: li_width + 'px',

height: li_height + 'px'

});

lis.css({

width: li_width + 'px',

height: li_height + 'px'

});

if (settings.direction == 'left') {

ul.css('width', li_num * li_width + 'px')

} else {

ul.css('height', li_num * li_height + 'px')

};

ul.find('li:eq(' + settings.startIndex + ')').addClass('active');

if (!settings.hideBottomBar) {

var tips = $('<div></div>').css('opacity', 0.6).appendTo(wrapper);

var title = $('<div></div>').html(function () {

var active = ul.find('li.active').find('a'),

text = active.attr('title'),

href = active.attr('href');

return $('<a>').attr('href', href).text(text)

}).appendTo(tips);

var nums = $('<div></div>').hide().appendTo(tips);

lis.each(function (i, n) {

var a = $(n).find('a'),

text = a.attr('title'),

href = a.attr('href'),

css = '';

i == settings.startIndex && (css = 'active');

$('<a>').attr('href', href).text(text).addClass(css).css('borderRadius',

settings.clickBarRadius + 'px').mouseover(function () {

$(this).addClass('active').siblings().removeClass('active');

ul.find('li:eq(' + $(this).index() + ')').addClass('active').siblings

().removeClass('active');

start();

stop()

}).appendTo(nums)

});

if (settings.hideClickBar) {

tips.hover(function () {

nums.animate({

top: '0px'

},

'fast')

},

function () {

nums.animate({

top: tips.height() + 'px'

},

'fast')

});

nums.show().delay(2000).animate({

top: tips.height() + 'px'

},

'fast')

} else {

nums.show()

}

};

lis.size() > 1 && start()

};

var start = function () {

var active = ul.find('li.active'),

active_a = active.find('a');

var index = active.index();

if (settings.direction == 'left') {

offset = index * li_width * -1;

param = {

'left': offset + 'px'

}

} else {

offset = index * li_height * -1;

param = {

'top': offset + 'px'

}

};

wrapper.find('.nums').find('a:eq(' + index + ')').addClass('active').siblings().removeClass

('active');

wrapper.find('.title').find('a').attr('href', active_a.attr('href')).text(active_a.attr

('title'));

ul.stop().animate(param, settings.duration * 1000, settings.easing,

function () {

active.removeClass('active');

if (order_by == 'ASC') {

if (active.next().size()) {

active.next().addClass('active')

} else {

order_by = 'DESC';

active.prev().addClass('active')

}

} else if (order_by == 'DESC') {

if (active.prev().size()) {

active.prev().addClass('active')

} else {

order_by = 'ASC';

active.next().addClass('active')

}

}

});

wrapper.data('timeid', window.setTimeout(start, settings.delay * 1000))

};

var stop = function () {

window.clearTimeout(wrapper.data('timeid'))

};

wrapper.hover(function () {

stop()

},

function () {

start()

});

var imgLoader = new Image();

imgLoader.onload = function () {

imgLoader.onload = null;

init()

};

imgLoader.src = firstPic.attr('src')

}

})(jQuery);

下面是图片焦点图的css样式;

复制代码 代码如下:

div.slideBox{ position:relative;height:300px; overflow:hidden; margin:0 auto;}

div.slideBox ul.items{ position:absolute; float:left; background:none; list-style:none; padding:0px; margin:0px;}

div.slideBox ul.items li{ float:left; background:none; list-style:none; padding:0px; margin:0px;}

div.slideBox ul.items li a{ float:left; line-height:normal !important; padding:0px !important; border:none/*For IE.ADD.JENA.201206300844*/;}

div.slideBox ul.items li a img{ margin:0px !important; padding:0px !important; display:block; border:none/*For IE.ADD.JENA.201206300844*/;}

div.slideBox div.tips{ position:absolute; bottom:0px; width:100%; height:50px; background-color:#000; overflow:hidden;}

div.slideBox div.tips div.title{ position:absolute; left:0px; top:0px; height:100%;}

div.slideBox div.tips div.title a{ color:#FFF; font-size:18px; line-height:50px; margin-left:10px; text-decoration:none;}

div.slideBox div.tips div.title a:hover{ text-decoration:underline !important;}

div.slideBox div.tips div.nums{ position:absolute; right:0px; top:0px; height:100%;}

div.slideBox div.tips div.nums a{ display:inline-block; >float:left/*For IE.ADD.JENA.201206300844*/; width:20px; height:20px; background-color:#FFF; text-indent:-99999px; margin:15px 10px 0px 0px;}

div.slideBox div.tips div.nums a.active{ background-color:#093;}

页面配置:

复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title></title>

<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>

<script src="Scripts/sliderbox.js" type="text/javascript"></script>

<script type="text/javascript">

$(function () {

$(".slideBox").slideBox();

})

</script>

</head>

<body>

<div >

<ul>

<li><a href="#" title="这里是测试标题一"><img src="http://www.jb51.netimage/1.png" width="1000" height="300"></a></li>

<li><a href="#" title="这里是测试标题2"><img src="http://www.jb51.netimage/2.png" width="1000" height="300"></a></li>

<li><a href="#" title="这里是测试标题3"><img src="http://www.jb51.netimage/3.png" width="1000" height="300"></a></li>

<li><a href="#" title="这里是测试标题4"><img src="http://www.jb51.netimage/4.png" width="1000" height="300"></a></li>

<li><a href="#" title="这里是测试标题5"><img src="http://www.jb51.netimage/5.png" width="1000" height="300"></a></li>

</ul>

</div>

</body>

</html>

只需引入js并在页面中调用$(选择器).slideBox();便可实现如上效果,同时我们也可以在sliebox({})里面指定操作,比如起始图片,方向等。

这个是在前段时间一个项目中用到的图片轮播器插件,感觉还可以的可以直接拿来用。

【jQuery焦点图切换特效插件封装实例】相关文章:

JQuery中attr方法和removeAttr方法用法实例

jQuery聚合函数实例

JQuery分屏指示器图片轮换效果实例

jQuery 遍历函数详解

jQuery插件Slider Revolution实现响应动画滑动图片切换效果

JavaScript数组去重的3种方法和代码实例

javaScript中with函数用法实例分析

jQuery封装的tab选项卡插件分享

JQuery球队选择实例

jQuery构造函数init参数分析续

精品推荐
分类导航