非常酷的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图片动画特效,绚丽的画面.实用的 ...
随机推荐
- ubuntu下上传本地代码到github
在github上有两种方法上传代码,一种是通过https,一种是通过SSH,这篇主要分享的是通过https的方法上传 首先,将你项目的所有代码放在一个文件夹中,然后在github上创建一个新的仓库 然 ...
- Win7窗口最大化和最小化快捷键
原文: https://blog.csdn.net/u012269267/article/details/52484399 Windows 键 + 方向键“↑” 使当前使用的窗口最大化. Window ...
- NewStyleClass学习笔记[一]
from : https://www.python.org/doc/newstyle/ New-style Classes Unfortunately(遗憾,不幸的), new-style class ...
- 如何在线程中获取spring 管理的bean
转载自:https://my.oschina.net/skyline520/blog/181158?fromerr=GjtR6Wec spring xml中定义 <!--spring 工具类-- ...
- swift-Xcode7.x(7.1,7.2,7.3)新建playground运行不能运行
swift-Xcode7.xhtml, body {overflow-x: initial !important;}.CodeMirror { height: auto; } .CodeMirror- ...
- C语言 · 递归求二项式系数值
算法训练 6-1 递归求二项式系数值 时间限制:10.0s 内存限制:256.0MB 问题描述 样例输入 一个满足题目要求的输入范例.3 10 样例输出 与上面的样例输入对应的输出. ...
- Java 调用cmd.exe命令
原理:java的Runtime.getRuntime().exec(commandText)可以调用执行cmd指令. cmd /c dir 是执行完dir命令后关闭命令窗口. cmd /k dir 是 ...
- Android——requestWindowFeature()的应用
Android开发中经常会在setContentView(R.layout.XXX); 前设置requestWindowFeature(XXXX). 他的意思是需要软件全屏显示.自定义标题(使用按钮等 ...
- 配置Chrome Workspace功能
配置Chrome Workspace功能 Chrome Workspace功能是将在Chrome开发者工具(F12)中对文档的修改直接应用于对应文件中.由于Chrome并不知道当然文档对应用的文件为哪 ...
- vim 小技巧
cd - 返回刚才访问的目录shift+# 在vi中查找相同的关键字vi 中o在当前游标位置后插入一行 O在当前位置前插入一行0 $到行未 行首shift+s 删除一行,并且进入insert mode ...