幻灯片特效

开篇先来个简单的,写一个幻灯片特效。

效果图:

这是这个例子中完整的代码:

html

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<link type="text/css" rel="stylesheet" href="./css/focus.css" />
<title>幻灯片特效 在线演示 DIVCSS5</title>
<script type="text/javascript" src="js/jquery-2.1.1.js"></script>
<script type="text/javascript" src="js/sl-1.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $("#navSlider").navSlider();
    });
</script>
</head>
<body>
<div class="navBg">
    <div class="navSlider" id="navSlider">
        <ul class="imgLi">
            <li style="background-image:url(./img/images_nav/img1.jpg);"></li>
            <li style="background-image:url(./img/images_nav/img2.jpg);"></li>
            <li style="background-image:url(./img/images_nav/img3.jpg);"></li>
            <li style="background-image:url(./img/images_nav/img4.jpg);"></li>
            <li style="background-image:url(./img/images_nav/img5.jpg);"></li>
            <li style="background-image:url(./img/images_nav/img6.jpg);"></li>
        </ul>
    </div>
</div>
</body>
</html>

css:

/*nav*/
div.navBg{background: url(../img/images_nav/loading.gif) 50% 50% no-repeat; width:100%; height: 400px;text-align:center;border-radius:15px;overflow:hidden;box-shadow:10px 10px 20px #888888;}
div.navSlider{width:100%;height:100%;display:block;position:relative;overflow:hidden;cursor:pointer;}
div.navSlider ul.imgLi{list-style-type:none;width:100%;height:100%;position:absolute;margin:0px;padding:0px;}
div.navSlider ul.imgLi li{background-position:50% 50%; background-repeat: no-repeat;width:100%;height:400px;opacity:0;z-index:0;float:left;margin-left:0%;position:absolute;}
div.navSlider ol{position:absolute;bottom:15px;width:100%;height:14px;list-style-type:none;z-index:2;}
div.navSlider ol li.orderIndex{background:url(../img/images_nav/dot.png) 100% 100% no-repeat; width:14px; height:14px;display:inline-block;margin:0 5px;overflow:hidden;opacity:1;}
div.navSlider ol li.orderIndex a{line-height: 44px;width:14px;height:14px;overflow:hidden;display:inline-block;cursor:pointer;}
div.navSlider ol li.mouseClick{background-position:0% 0%;}
div.navSlider ol li.onHover{cursor:pointer;width:14px;height:14px;display:inline-block;}
div.navSlider ul.sliderBtn{position:absolute;z-index:3;width:100%;height:50px;top:45%;}
div.navSlider ul.sliderBtn li{height:50px; margin:0px; padding:0px;list-style-type:none;display:inline-block;opacity:0.5;cursor:pointer;}
div.navSlider ul.sliderBtn li:first-child{background:url(../img/images_nav/prev.png) 50% 50% no-repeat; width:50px;float:left;margin-left:60px;}
div.navSlider ul.sliderBtn li:last-child{background:url(../img/images_nav/next.png) 50% 50% no-repeat;width:50px;float:right;margin-right:60px;}
div.navSlider ul.sliderBtn li.mouseEnter{opacity:1;}

jQuery:

;(function($){
    $.fn.extend({
        "navSlider": function(){
            var selector = $(this),
                liLength = selector.find("ul li").size(),
                index = 0,
                olHtml = "<ol>";
            while(index++ < liLength){
                olHtml+="<li class=‘orderIndex‘><a>"+index+"</a></li>";
            }
            olHtml +="</ol><ul class=‘sliderBtn‘><li class=‘btnDirection pre‘></li><li class=‘btnDirection next‘></li></ul>";
            selector.append(olHtml);
            index = 0;
            selector.find(".btnDirection").hover(function(){
                $(this).toggleClass("mouseEnter");
            });

            selector.find(".orderIndex").click(function(){
                selector.children().eq(0).children().stop(true, false).eq($(this).index()).animate({"opacity":"1","z-index":"1"},2000).siblings().animate({"opacity":"0","z-index":"0"},1000);
                $(this).toggleClass("mouseClick").siblings().removeClass("mouseClick");
                index = $(this).index();
            }).eq(index).click();

            selector.find(".sliderBtn").find(".next").click(function(){
                selector.find(".orderIndex").eq(++index < liLength?index:0).click();
            }).end().find(".pre").click(function(){
                selector.find(".orderIndex").eq(--index<0?liLength-1:index).click();
            });

            selector.bind("mousewheel",function(event,isUp){
                if((event.wheelDelta && event.wheelDelta > 0) || (event.detail && event.detail < 0)){//up
                    selector.find(".pre").trigger("click");
                }else if((event.wheelDelta && event.wheelDelta < 0) || (event.detail && event.detail > 0)){
                    selector.find(".next").trigger("click");
                }
                event.preventDefault();
                event.stopPropagation();

            });
        }
    });
})(jQuery);

在这个例子中,我给class为navBg的div设置了一个背景图(loading.gif).当点击上下按钮进行图片交替的时候,修改ul中li的style样式中opacity,z-index属性值。这样就看到了类似幻灯片的过度效果。

本例子中的思路非原创。代码是经过看别人例子时,自己斟酌出来的。

如果读者有新想法,欢迎一起探讨交流~

时间: 2024-08-25 00:03:17

幻灯片特效的相关文章

纯CSS3炫酷全屏3D立方体旋转展示幻灯片特效

这是一款效果非常酷的纯CSS3全屏3D立方体旋转展示幻灯片特效.该幻灯片使用全屏的3D立方体作为slide的载体,通过上下导航按钮,可以垂直旋转立方体,将立方体各个面上的幻灯片图片展示出来,效果非常炫酷. 在线预览   源码下载 使用方法 HTML结构 该幻灯片的立方体结构使用的是一个无序列表来制作,每一个<li>元素是一个立方体的面.幻灯片的上下导航按钮使用的是radio单选按钮和label来制作.整个3D立方体幻灯片被包裹在一个div容器中. 1 2 3 4 5 6 7 8 9 10 11

超酷不同风格页面布局幻灯片特效

这是一款效果非常炫酷的不同风格页面布局幻灯片特效.该特效中,通过前后导航按钮来切换幻灯片,每个幻灯片中的图片均为不同的布局效果. 在线预览   源码下载 该幻灯片特效使用anime.js来制作幻灯片的动画特效,并使用很多CSS3属性,需要最新版本的现代浏览器才能看到效果.对于IE浏览器,前面几种效果可以在IE11及以上的浏览器看到效果,最后一种效果由于IE浏览器不支持SVG clip-path属性,所以是看不到效果的. 使用方法 HTML结构 该幻灯片的基本HTML结构如下:每一个幻灯片都有各自

基于bootstrup3全屏宽度的响应式jQuery幻灯片特效

这是一款效果非常酷的基于Bootstrup3.x和HTML5的响应式全屏宽度jQuery幻灯片特效.该幻灯片能自适应屏幕的宽度,使用HTML5的data属性来指定幻灯片所需的各种属性.使用简单,界面美观大方.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="myCarousel" class="carousel slide" data-ride="carousel"> <!-- Indicat

支持移动手机的响应式产品展示幻灯片特效

在线预览   源码下载 Mono是一款支持移动手机的响应式产品展示js幻灯片特效.该特效在每一个幻灯片slide中展示一个产品大图,以及产品的名称,并且每一个幻灯片slide的背景颜色可以进行平滑的切换过渡.它的特点还有: 响应式.支持视口大于320像素的浏览器. 支持移动手机. 跨浏览器.在IE8和IE9浏览器中,该特效会自动进行回退.你可以使用respond.js来是该特效在IE8中使用 media query. 使用简单. Mono是Sequence.js的一个主题.Sequence.js

HTML5 canvas炫酷棱镜效果的幻灯片特效

这是一款效果非常炫酷华丽的HTML5 canvas带棱镜效果的幻灯片特效.这个特效在每一个幻灯片的前面放置一个图形,并将图形制作为三棱镜效果,它底下的幻灯片图片会被"折射"到棱镜上面,形成一种棱镜折射效果. 所有的现代浏览器都支持这个幻灯片特效,包括IE9. 效果演示:http://www.htmleaf.com/Demo/201504011607.html 下载地址:http://www.htmleaf.com/html5/html5-canvas/201504011606.html

jQuery高性能跨浏览器全屏幻灯片特效插件

Nex是一款效果炫酷的.高性能的跨浏览器全屏幻灯片特效jQuery插件.该幻灯片插件允许你嵌入图片.视频,甚至是谷歌地图.该幻灯片提供了7组共34种不同的效果,可以使你适用于任何场景下使用. 它的特点有: 幻灯片外观可以自定义 优化速度 支持移动触摸设备 支持键盘导航 支持选择各种Pattern 对SEO优化十分友好 10种类型效果:Fade, Slide [left,right,top,bottom], Zoom, Skew, Rotate, Random, None 5种颜色主题:ameth

jQuery和CSS3超酷全屏视觉差幻灯片特效

这是一款效果非常炫酷的jQuery和CSS3全屏视觉差幻灯片特效.该幻灯片采用半透明的遮罩层作为文字说明层.在幻灯片切换时,文字有动态放大的效果.图片和文字的移动形成了一种微妙的视觉差效果. 效果演示:http://www.htmleaf.com/Demo/201506162049.html 下载地址:http://www.htmleaf.com/jQuery/Slideshow-Scroller/201506162048.html

jQuery炫酷3D旋转幻灯片特效插件

iPresenter是一款效果非常炫酷的jQuery和CSS3 3D旋转幻灯片特效插件.你可以使用它来制作产品展示.图片画廊或者各种幻灯片和轮播图特效. 这款幻灯片插件的特点有: 高度灵活和可定制性. 灵活的用户界面的设计. 在单个HTML页面中允许存在多个实例. 可以定制每一个slider的easing效果. 多语言支持. 可以在 iOS 和 Android 上正常工作. 可以选择自动播放模式下鼠标悬停时停止播放幻灯片. 非常容易调整尺寸. 兼容外部字体(如谷歌字体). 有预加载进度条显示.

基于jQuery仿迅雷影音官网幻灯片特效

分享一款基于jQuery仿迅雷影音官网幻灯片特效迅.雷影音官网jQuery幻灯片特效是一款带左右箭头,索引按钮切换的jQuery幻灯片代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="wrapper"> <div id="content" class="content"> <div class="s_arr"> <a class=&quo