非常酷的jQuery/HTML5图片滑块特效 带弹性菜单
新的一周刚刚开始,当我迷迷糊糊坐在办公桌前时,又不自主的去看了一些jQuery和HTML5的应用插件,今天我们来看一款非常酷的jQuery/HTML5图片滑块特效,这款插件的特点是图片上不错的弹性菜单,鼠标滑过菜单时可以弹出一张半透明的图片。先来看看效果图。

我们可以在这里看到生动的DEMO演示。
当然,我们光看效果是不行的,还是一起来简单地分析一下实现的源码。
首先是使用最简单的HTML代码来构造这个带菜单的图片滑块框架:
<div id="slider-wrapper">
<div id="dots">
<ul>
<li class="active"></li>
<li></li>
<li></li>
</ul>
</div>
<div id="arrow-left" class="nav-arrow"></div>
<div id="image-slider">
<ul>
<li class="active-img"><img src="sunset.jpg" alt="" /></li><li><img src="lele.jpg" alt="" /></li><li><img src="logo.jpg" alt="" /></li>
</ul>
<div id="nav-bar">
<a href="#"><div><img src="thumb-web.jpg" /></div>Web</a><a href="#"><div><img src="thumb-print.jpg" /></div>Print</a><a href="#"><div><img src="thumb-logo.jpg" /></div>Logos</a><a href="#"><div><img src="thumb-photo.jpg" /></div>Photos</a>
</div>
</div>
<div id="arrow-right" class="nav-arrow"></div>
</div>
下面是CSS3代码,主要是对左右箭头、图片阴影效果的渲染,这里贴一下核心的CSS代码:
.nav-arrow{
width: 46px;
height: 343px;
display: inline-block;
*display: inline;
zoom: 1.0;
cursor: pointer;
}
#arrow-left{
background: url(arrow-left.png) center center no-repeat;
}
#arrow-right{
background: url(arrow-right.png) center center no-repeat;
}
#arrow-right:hover, #arrow-left:hover{
background-color: #1e2225;
}
#image-slider{
width: 923px;
height: 343px;
position: relative;
margin-top: 10px;
overflow: hidden;
display: inline-block;
*display: inline;
zoom: 1.0;
}
#slider-wrapper:before{
content: '';
width: 974px;
height: 52px;
display: block;
position: absolute;
left: 50%;
margin-left: -487px;
top: 375px;
background: url(shadow.png) center center no-repeat;
}
重点是jQuery代码,下面的jQuery代码就实现了图片的滑块动画以及鼠标滑过菜单时的弹性动画效果:
$(function(){
var sliderInterval = setInterval(function() {
nextImg();
}, 7000);
$('.nav-arrow').click(function(){
if($(this).attr('id') == 'arrow-left'){
prevImg();
}else{
nextImg();
}
clearInterval(sliderInterval);
});
$('#dots li').click(function(){
var thisIndex = $(this).index()
if(thisIndex < $('#dots li.active').index()){
prevDot(thisIndex);
}else if(thisIndex > $('#dots li.active').index()){
nextDot(thisIndex);
}
$('#dots li.active').removeClass('active');
$(this).addClass('active');
clearInterval(sliderInterval);
});
})
function prevImg(){
var curIndex = $('#image-slider li.active-img').index();
if(curIndex == 0){
$('#image-slider li:last-child').addClass('next-img').animate({
left: 0
}, function(){
$('#image-slider li.active-img').removeClass('active-img').css('left', '-923px');
$('#image-slider li.next-img').attr('class', 'active-img');
var nextIndex = $('#image-slider li.active-img').index();
$('#dots li.active').removeClass('active');
$('#dots li').eq(nextIndex).addClass('active');
});
}else{
$('#image-slider li.active-img').prev().addClass('next-img').animate({
left: 0
}, function(){
$('#image-slider li.active-img').removeClass('active-img').css('left', '-923px');
$('#image-slider li.next-img').attr('class', 'active-img');
var nextIndex = $('#image-slider li.active-img').index();
$('#dots li.active').removeClass('active');
$('#dots li').eq(nextIndex).addClass('active');
});
}
}
function nextImg(){
var curIndex = $('#image-slider li.active-img').index();
if(curIndex == $('#image-slider li').length - 1){
$('#image-slider li:first-child').addClass('next-img').css('left', 923).animate({
left: 0
}, function(){
$('#image-slider li.active-img').removeClass('active-img').css('left', '-923px');
$('#image-slider li.next-img').attr('class', 'active-img');
var nextIndex = $('#image-slider li.active-img').index();
$('#dots li.active').removeClass('active');
$('#dots li').eq(nextIndex).addClass('active');
});
}else{
$('#image-slider li.active-img').next().addClass('next-img').css('left', 923).animate({
left: 0
}, function(){
$('#image-slider li.active-img').removeClass('active-img').css('left', '-923px');
$('#image-slider li.next-img').attr('class', 'active-img');
var nextIndex = $('#image-slider li.active-img').index();
$('#dots li.active').removeClass('active');
$('#dots li').eq(nextIndex).addClass('active');
});
}
}
function prevDot(newIndex){
$('#image-slider li').eq(newIndex).addClass('next-img').animate({
left: 0
}, function(){
$('#image-slider li.active-img').removeClass('active-img').css('left', '-923px');
$('#image-slider li.next-img').attr('class', 'active-img');
});
}
function nextDot(newIndex){
$('#image-slider li').eq(newIndex).addClass('next-img').css('left', 923).animate({
left: 0
}, function(){
$('#image-slider li.active-img').removeClass('active-img').css('left', '-923px');
$('#image-slider li.next-img').attr('class', 'active-img');
});
}
非常简洁的JS代码。
最后声明一下,在IE6.7.8中只能看到基本的滑块效果。最后附上源码。下载地址>>
非常酷的jQuery/HTML5图片滑块特效 带弹性菜单的更多相关文章
- 超酷的jQuery百叶窗图片滑块实现教程
原文:超酷的jQuery百叶窗图片滑块实现教程 今天我们要来分享一款基于jQuery的百叶窗焦点图插件,也可以说是图片滑块插件.这种jQuery焦点图插件的应用非常广泛,在早些年前,我们需要用flas ...
- jQuery百叶窗图片滑块
超酷的jQuery百叶窗图片滑块实现教程 今天我们要来分享一款基于jQuery的百叶窗焦点图插件,也可以说是图片滑块插件.这种jQuery焦点图插件的应用非常广泛,在早些年前,我们需要用flash ...
- 超炫酷的jQuery/HTML5应用效果及源码
jQuery非常强大,我们之前也用jQuery分享过很多实用的插件.HTML5可以让网页变得更加绚丽多彩,将HTML5和jQuery结合使用那将发挥更棒的效果. 今天向大家收集了一些关于HTML5和j ...
- jquery Loading图片延迟加载特效
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 40免费的 jQuery & CSS3 图片热点特效
jQuery CSS3 形象悬停效果可能是一个优秀的网站项目中添加的效果.这个特殊的收集是大约50个 jQuery CSS3 形象徘徊影响最近出版的.这些图像悬停效果可以作为一个有效的和创造性的方式添 ...
- 8款耀眼的jQuery/HTML5焦点图滑块插件
1.HTML5/CSS3超酷焦点图特效 带前后翻页按钮 今天要分享的这款HTML5/CSS3焦点图插件切换效果比较简单,但是外观和功能却十分强大.该CSS3焦点图在切换图片时,图片以淡入淡出的方式缩小 ...
- 分享10款效果惊艳的HTML5图片特效
在HTML5的世界里,图片特效都十分绚丽,我们在网站上也分享过很多不错的HTML5图片特效,现在我们精选10款效果惊艳的HTML5图片特效分享给大家. 1.HTML5 3D正方体旋转动画 很酷的3D特 ...
- 分享10款效果惊艳的HTML5图片特效【转】
先插入一条广告,博主新开了一家淘宝店,经营自己纯手工做的发饰,新店开业,只为信誉!需要的亲们可以光顾一下!谢谢大家的支持!店名: 小鱼尼莫手工饰品店经营: 发饰.头花.发夹.耳环等(手工制作)网店: ...
- 精选7款绚丽的HTML5和jQuery图片动画特效
在HTML5出现后,图片就变得更加富有动感了,各种图片动画特效也层出不穷,例如图片播放器.图片导航.3D图片动画等等.本文将精选几款具有代表性的HTML5和jQuery图片动画特效,绚丽的画面.实用的 ...
随机推荐
- google3aac509c9040e79d
google-site-verification: google3aac509c9040e79d.html
- 移动web开发(三)——字体使用
参考: 移动web页面使用字体的思考.http://www.cnblogs.com/PeunZhang/p/3592096.html
- 基于jQuery适合做图片类网站的特效
分享一款基于jquery适合做图片类网站的特效.这是一款鼠标经过图片滑动弹出标题效果代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div class="c ...
- [转] [Java] 知乎下巴第5集:使用HttpClient工具包和宽度爬虫
原文地址:http://blog.csdn.net/pleasecallmewhy/article/details/18010015 下载地址:https://code.csdn.net/wxg694 ...
- ActiveMQ队列特性:删除不活动的队列(Delete Inactive Destinations)
方法一 通过 ActiveMQ Web 控制台删除. 方法二 通过 Java 代码删除. ActiveMQConnection.destroyDestination(ActiveMQDestinati ...
- ArcEngine下SceneControl叠加影像数据(构建三维地形)
载入完TIN数据后.须要在三维物体上描绘细节.即纹理:建立DEM表面点与纹理空间点的关系,即纹理映射.叠加影像数据就是把影像看作纹理.将其贴在地形表面,让其具有地形起伏的三维效果. 这里与GlobeC ...
- 【IntelliJ IDEA】idea上提交代码到GitHub,已经提交了 但是GitHub上却没有的解决办法
摘要: 今天提交idea上的代码到GitHub,提交过程已经完成, 在版本控制的Log中可以看到,已经将这一部分都提交更新了 在版本控制的Local Changes中已经看不到提交过的代码了 ...
- kindle书摘-活着-余华-活着不易,珍惜
https://github.com/starrtc/android-demo 中文版自序 标注(黄色) - 位置 29 作家的使命不是发泄,不是控诉或者揭露,他应该向人们展示高尚.这里所说的高尚不 ...
- Redis 2.8.18 安装报错 error: jemalloc/jemalloc.h: No such file or directory解决方法
http://www.phperz.com/article/14/1219/42002.html ——————————————————————————————————————————————————
- 7、Qt MetaObject System详解
网上的资源比较乱,该文章整理自地址:http://www.xuebuyuan.com/735789.html Qt meta-object系统基于三个方面: 1.QObject提供一个基类,方便派生类 ...