`
天梯梦
  • 浏览: 13730949 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

CSS+jQuery实现滑动幻灯片实例详解

阅读更多

HTML部分代码

Start with having a wrapping container div called main_view , and two sections nested inside called image_reel and paging. The image_reel will contain the sliding images, and paging contains the paging controls. Take a look at the image below for a visual.

 

<div class="main_view">
    <div class="window">
        <div class="image_reel">
            <a href="#"><img src="reel_1.jpg" alt="" /></a>
            <a href="#"><img src="reel_2.jpg" alt="" /></a>
            <a href="#"><img src="reel_3.jpg" alt="" /></a>
            <a href="#"><img src="reel_4.jpg" alt="" /></a>
        </div>
    </div>
    <div class="paging">
        <a href="#" rel="1">1</a>
        <a href="#" rel="2">2</a>
        <a href="#" rel="3">3</a>
        <a href="#" rel="4">4</a>
    </div>
</div>
 
css+jQuery实现滑动幻灯片实例教程

 

css+jQuery实现滑动幻灯片实例教程

 

CSS部分代码

Take a look at the comments below for an explanation of the styles.

 

    /*--Main Container--*/
    .main_view {
    	float: left;
    	position: relative;
    }
    /*--Window/Masking Styles--*/
    .window {
    	height:286px;	width: 790px;
    	overflow: hidden; /*--Hides anything outside of the set width/height--*/
    	position: relative;
    }
    .image_reel {
    	position: absolute;
    	top: 0; left: 0;
    }
    .image_reel img {float: left;}
     
    /*--Paging Styles--*/
    .paging {
    	position: absolute;
    	bottom: 40px; right: -7px;
    	width: 178px; height:47px;
    	z-index: 100; /*--Assures the paging stays on the top layer--*/
    	text-align: center;
    	line-height: 40px;
    	background: url(paging_bg2.png) no-repeat;
    	display: none; /*--Hidden by default, will be later shown with jQuery--*/
    }
    .paging a {
    	padding: 5px;
    	text-decoration: none;
    	color: #fff;
    }
    .paging a.active {
    	font-weight: bold;
    	background: #920000;
    	border: 1px solid #610000;
    	-moz-border-radius: 3px;
    	-khtml-border-radius: 3px;
    	-webkit-border-radius: 3px;
    }
    .paging a:hover {font-weight: bold;} 

 

 

JS部分代码

The following script contains comments explaining which jQuery actions are being performed.
1.Setting up the Image Slider
Start by showing the paging and activating the first link. Then we will calculate and adjust the width of the image_reel according to how many slides there are.

 

    //Show the paging and activate its first link
    $(".paging").show();
    $(".paging a:first").addClass("active");
     
    //Get size of the image, how many images there are, then determin the size of the image reel.
    var imageWidth = $(".window").width();
    var imageSum = $(".image_reel img").size();
    var imageReelWidth = imageWidth * imageSum;
     
    //Adjust the image reel to its new size
    $(".image_reel").css({'width' : imageReelWidth}); 

 

 

2.Setting up the Slider Function and Timer
We first create the function for the slide event by itself (rotate ). Then create another function (rotateSwitch ) that will rotate and repeat that slide event (rotate).

 

    //Paging  and Slider Function
    rotate = function(){
        var triggerID = $active.attr("rel") - 1; //Get number of times to slide
        var image_reelPosition = triggerID * imageWidth; //Determines the distance the image reel needs to slide
     
        $(".paging a").removeClass('active'); //Remove all active class
        $active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)
     
        //Slider Animation
        $(".image_reel").animate({
            left: -image_reelPosition
        }, 500 );
     
    }; 
     
    //Rotation  and Timing Event
    rotateSwitch = function(){
        play = setInterval(function(){ //Set timer - this will repeat itself every 7 seconds
            $active = $('.paging a.active').next(); //Move to the next paging
            if ( $active.length === 0) { //If paging reaches the end...
                $active = $('.paging a:first'); //go back to first
            }
            rotate(); //Trigger the paging and slider function
        }, 7000); //Timer speed in milliseconds (7 seconds)
    };
     
    rotateSwitch(); //Run function on launch 

 

 

Take a look at this tutorial for an explanation of how the timer (setInterval ) works.

3.Hover and Click Events
In case the user wants to view the slide for a longer period of time, we will allow the slider to stop when it is hovered. Another thing to consider is we should reset the timer each time the paging is clicked. This will prevent unexpected slide switches and allow for a smoother experience.

 

    //On Hover
    $(".image_reel a").hover(function() {
        clearInterval(play); //Stop the rotation
    }, function() {
        rotateSwitch(); //Resume rotation timer
    });	
     
    //On Click
    $(".paging a").click(function() {
        $active = $(this); //Activate the clicked paging
        //Reset Timer
        clearInterval(play); //Stop the rotation
        rotateSwitch(); // Resume rotation timer
        rotate(); //Trigger rotation immediately
        return false; //Prevent browser jump to link anchor
    }); 

 

 

css+jQuery实现滑动幻灯片实例教程

css+jQuery实现滑动幻灯片实例教程

 

查看演示

 

一些网站实例

Below are some sites that use similar techniques, check them out for inspiration!

 

Automatic Image Slider CSS jQuery

Automatic Image Slider CSS jQuery

Automatic Image Slider CSS jQuery

Automatic Image Slider CSS jQuery

Automatic Image Slider CSS jQuery

 

 

 

 

淡入淡出幻灯片效果

 

首先我们建一个DIV,里面包括5张img,其中主要css部分代码如下:

 

    #slider1{
    	margin:20px auto;
    	height:240px;
    	width:740px;
    	position:relative;
    	}	 
    #slider1 img{
    	position: absolute; 
    	top: 0px; 
    	left: 0px;
    	display:none;
    } 

 

原理分析:通过间隔一定时间来改变下一张图片的z-index,实现淡入淡出的幻灯片效果,具体js部分代码如下:

 

 var now=0;
      setInterval(function (){
          pre=now===0?2:now-1;
          nxt=now===4?0:now+1;
          var div=$("#slider1").children();
          div.eq(now).fadeOut(0,function(){   
		      div.css('z-index',1);       
              div.eq(nxt).css("z-index",6).fadeIn(600);
              div.eq(pre).css("z-index",4);
              div.eq(now).css("z-index",5);
              now=nxt;
          });
      },3000);
 

 

滚动幻灯片效果

建立两个DIV,ID分别为slider2跟children,slider2为父div,children为子DIV,包含5张img,父 DIV(slider2)设置为overflow:hidden。主要CSS部分如下:

 

 

 #slider2{
	overflow:hidden;
        margin:20px auto;
	height:240px;
	width:740px;
	position:relative;
	}
#children img{
      	width:740px;
	height:240px;
	margin:0;
	padding:0;
	float:left;
      }
#children{
	height:240px;
        position:relative;
        width:740px;
	}
 

原理分析:通过间隔一定时间,来改变图片的绝对位置,时间滚动动画的幻灯片代码,具体js部分代码如下:

 

 

    var slider=1;
    setInterval(function(){
    		slider=slider===5?0:slider;		
    		var t=-slider*240;
    		slider++;
    		$("#children").animate({top:t},600);
    },3000); 

 

程序演示地址http://www.js8.in/mywork/jquery_slider/

 

 

分享到:
评论

相关推荐

    jQuery+Swiper仿魅族幻灯片轮播和导航栏特效.zip

    《jQuery+Swiper实现魅族风格幻灯片轮播与导航栏特效详解》 在Web开发中,动态的用户体验往往能提升网站的吸引力和互动性。"jQuery+Swiper仿魅族幻灯片轮播和导航栏特效"就是一个很好的例子,它结合了jQuery的便捷...

    jQuery+swiper.js幻灯片图片视差滚动轮播特效.zip

    《jQuery与swiper.js结合实现幻灯片图片视差滚动轮播特效详解》 在Web开发中,动态的、富有交互性的用户体验是提升网站吸引力的重要手段。"jQuery+swiper.js幻灯片图片视差滚动轮播特效.zip"这个压缩包提供了一个...

    jQuery+CSS3全屏动画幻灯片图片切换代码.zip

    《jQuery+CSS3全屏动画幻灯片图片切换代码详解》 在当今的网页设计领域,动态效果和交互性已经成为提升用户体验的重要手段。"jQuery+CSS3全屏动画幻灯片图片切换代码"是一个典型的实例,它巧妙地结合了jQuery的易用...

    jQuery+Swiper仿魅族幻灯片轮播和导航栏特效

    **jQuery+Swiper仿魅族幻灯片轮播与导航栏特效详解** 在网页设计中,动态效果常常能提升用户体验,其中幻灯片轮播和导航栏特效是常见且重要的元素。本教程将深入讲解如何使用jQuery和Swiper库来实现类似魅族风格的...

    jQueryBanner幻灯片代码

    **jQuery Banner 幻灯片代码详解** 在网页设计中,jQuery 幻灯片是一种常见的动态效果,用于展示一系列图片或内容,通常用作网站的头部焦点图或产品展示区域。这个"jQueryBanner幻灯片代码"是实现这种效果的一个...

    带文字说明的jQuery幻灯片自动轮播代码.zip

    【jQuery幻灯片自动轮播代码详解】 在网页设计中,动态展示内容是吸引用户注意力的有效方式,而jQuery幻灯片自动轮播功能是其中常用的一种。本资源提供了一个带文字说明的jQuery幻灯片自动轮播代码示例,帮助开发者...

    jquery风向滑动幻灯片特效代码

    总的来说,“jQuery风向滑动幻灯片”是一个综合运用jQuery特性的实例,通过DOM操作、事件处理和动画效果,实现了用户友好的幻灯片展示方式。掌握这些技术对于提升网站的交互性和视觉吸引力至关重要。

    jquery仿flash的图片幻灯片播放特效实例完整版.rar

    《jQuery实现Flash风格图片幻灯片播放特效详解》 在Web开发中,为了吸引用户的注意力并展示内容,图片幻灯片播放效果是一个常用且实用的工具。随着Flash技术的逐渐淡出,jQuery作为轻量级的JavaScript库,以其强大...

    Jquery幻灯片.zip

    本篇文章将深入探讨如何使用jQuery实现幻灯片功能,并通过实例解析其核心技术和应用场景。 一、jQuery幻灯片基础 1. jQuery选择器:jQuery的核心在于其强大的选择器功能,可以方便地选取DOM元素。在创建幻灯片时,...

    基于jQuery完全自定义内容的幻灯片效果的实现代码.zip

    基于jQuery实现的完全自定义内容的幻灯片效果允许开发者根据自己的需求来定制滑动动画、过渡效果、导航元素等,以创建独特且互动性强的用户体验。 【描述】:这个压缩包中的代码提供了使用JavaScript库jQuery创建...

    supersized2 基于jquery仿Flash效果幻灯片播放插件+实例.zip

    《基于jQuery的supersized2幻灯片播放插件详解及实例分析》 在现代网页设计中,动态、吸引人的视觉元素是不可或缺的,而幻灯片播放器就是其中之一。"supersized2"是一款基于jQuery的开源插件,它能够实现类似Flash...

    jQuery和CSS3超酷3D堆叠式幻灯片插件.zip

    《jQuery与CSS3结合打造3D堆叠式幻灯片插件详解》 在现代网页设计中,动态、交互式的用户体验已经成为不可或缺的一部分。jQuery作为一款强大的JavaScript库,为开发者提供了便利的DOM操作、事件处理以及动画效果。...

    Jquery幻灯片焦点图插件

    **jQuery幻灯片焦点图插件详解** 在网页设计中,动态展示图片或内容的幻灯片效果常常被用于吸引用户注意力,提升用户体验。jQuery作为一款轻量级、功能强大的JavaScript库,为创建这种效果提供了便利。本篇将详细...

    jQuery仿PPT演讲稿幻灯片插件.zip

    《jQuery仿PPT演讲稿幻灯片插件详解》 在现代网页设计中,动态效果的运用已经成为提升用户体验的重要手段之一。"jQuery仿PPT演讲稿幻灯片插件"正是这样一种工具,它能够帮助开发者轻松实现网页上的PPT式幻灯片展示...

    jquery 图片幻灯片切换特效

    本篇文章将深入探讨如何通过jQuery实现五种不同的图片幻灯片切换特效,并提供相应的代码实例,帮助开发者更好地理解和应用。 ### 一、基本概念 **jQuery** 是一个轻量级的JavaScript库,它简化了HTML文档遍历、...

    上下左右翻页显示的jquery幻灯片特效

    **jQuery幻灯片特效——上下左右翻页显示详解** 在网页设计中,为了吸引用户的注意力并展示丰富的信息,经常使用到幻灯片(Slider)这种交互元素。本篇将详细介绍一种利用jQuery实现的上下左右翻页显示的幻灯片特效...

    Jquery简单滑动焦点图

    通过以上步骤,我们可以实现一个基本的jQuery滑动焦点图。这个实例虽然简单,但已经具备了焦点图的基本功能。开发者可以根据需求进一步扩展,如添加动画效果、添加文字描述、优化移动端适配等。记得在实际项目中根据...

    jQuery移动手机端幻灯片插件Swiper

    **jQuery移动手机端幻灯片插件Swiper详解** Swiper是一款非常优秀的jQuery移动设备幻灯片插件,尤其在iOS、Android以及Windows Phone 8等主流移动操作系统上表现出色,同时也兼容桌面浏览器,为用户提供无缝滑动的...

    jQuery仿今日头条首页焦点图幻灯片轮播特效.zip

    **jQuery仿今日头条首页焦点图幻灯片轮播特效** 这个压缩包包含了一个基于jQuery实现的仿今日头条首页焦点图轮播效果的代码实例。这个特效可以让网站的首页展示一组图片或内容,通过自动或手动切换来形成动态的幻灯...

    jQuery点击弹出窗口幻灯片图片切换代码.zip

    "jQuery点击弹出窗口幻灯片图片切换代码"就是一个典型的应用实例,它巧妙地结合了jQuery库的高效性能和丰富的动画效果,实现了用户点击后弹出窗口并进行图片轮播的功能。本文将深入解析这一代码实现的原理和关键点。...

Global site tag (gtag.js) - Google Analytics