Jquery代码实现图片轮播效果(一)_javascript技巧

文章写的不好,还请各位高手指教,不废话了,先上张效果图吧看下:

在线演示         下载源码

首先是初始化部分:将除了第一张轮播图片意外的图片都隐藏,并且隐藏向前、向后按钮,使第一个索引按钮处于激活状态。

事件部分:通过jquery的hover()绑定鼠标上悬以及离开时的事件处理, jquery的bind()方法绑定鼠标点击事件处理向前、向后翻动、轮播控制:pre(), next(), play(), start()开始自动轮播,stop()停止自动轮播。

下篇是一个纯粹的jquery轮播插件, 该插件可以定制各种效果,方便的配置以及可扩展。

下面是整体的代码:

index.html
[html] view plaincopy
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jquery轮播效果图 </title>
<script type="text/javascript" src="scripts/jquery-1.9.1.js"></script>
<style type="text/css">
 * {
  padding: 0px;
  margin: 0px;
 }
 a {
  text-decoration: none;
 }
 ul {
  list-style: outside none none;
 }
 .slider, .slider-panel img, .slider-extra {
  width: 650px;
  height: 413px;
 }
 .slider {
  text-align: center;
  margin: 30px auto;
  position: relative;
 }
 .slider-panel, .slider-nav, .slider-pre, .slider-next {
  position: absolute;
  z-index: 8;
 }
 .slider-panel {
  position: absolute;
 }
 .slider-panel img {
  border: none;
 }
 .slider-extra {
  position: relative;
 }
 .slider-nav {
  margin-left: -51px;
  position: absolute;
  left: 50%;
  bottom: 4px;
 }
 .slider-nav li {
  background: #3e3e3e;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  margin: 0 2px;
  overflow: hidden;
  text-align: center;
  display: inline-block;
  height: 18px;
  line-height: 18px;
  width: 18px;
 }
 .slider-nav .slider-item-selected {
  background: blue;
 }
 .slider-page a{
  background: rgba(0, 0, 0, 0.2);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#33000000,endColorstr=#33000000);
  color: #fff;
  text-align: center;
  display: block;
  font-family: "simsun";
  font-size: 22px;
  width: 28px;
  height: 62px;
  line-height: 62px;
  margin-top: -31px;
  position: absolute;
  top: 50%;
 }
 .slider-page a:HOVER {
  background: rgba(0, 0, 0, 0.4);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66000000,endColorstr=#66000000);
 }
 .slider-next {
  left: 100%;
  margin-left: -28px;
 }
</style>
<script type="text/javascript">
 $(document).ready(function() {
  var length,
   currentIndex = 0,
   interval,
   hasStarted = false, //是否已经开始轮播
   t = 3000; //轮播时间间隔
  length = $('.slider-panel').length;
  //将除了第一张图片隐藏
  $('.slider-panel:not(:first)').hide();
  //将第一个slider-item设为激活状态
  $('.slider-item:first').addClass('slider-item-selected');
  //隐藏向前、向后翻按钮
  $('.slider-page').hide();
  //鼠标上悬时显示向前、向后翻按钮,停止滑动,鼠标离开时隐藏向前、向后翻按钮,开始滑动
  $('.slider-panel, .slider-pre, .slider-next').hover(function() {
   stop();
   $('.slider-page').show();
  }, function() {
   $('.slider-page').hide();
   start();
  });
  $('.slider-item').hover(function(e) {
   stop();
   var preIndex = $(".slider-item").filter(".slider-item-selected").index();
   currentIndex = $(this).index();
   play(preIndex, currentIndex);
  }, function() {
   start();
  });
  $('.slider-pre').unbind('click');
  $('.slider-pre').bind('click', function() {
   pre();
  });
  $('.slider-next').unbind('click');
  $('.slider-next').bind('click', function() {
   next();
  });
  /**
   * 向前翻页
   */
  function pre() {
   var preIndex = currentIndex;
   currentIndex = (--currentIndex + length) % length;
   play(preIndex, currentIndex);
  }
  /**
   * 向后翻页
   */
  function next() {
   var preIndex = currentIndex;
   currentIndex = ++currentIndex % length;
   play(preIndex, currentIndex);
  }
  /**
   * 从preIndex页翻到currentIndex页
   * preIndex 整数,翻页的起始页
   * currentIndex 整数,翻到的那页
   */
  function play(preIndex, currentIndex) {
   $('.slider-panel').eq(preIndex).fadeOut(500)
    .parent().children().eq(currentIndex).fadeIn(1000);
   $('.slider-item').removeClass('slider-item-selected');
   $('.slider-item').eq(currentIndex).addClass('slider-item-selected');
  }
  /**
   * 开始轮播
   */
  function start() {
   if(!hasStarted) {
    hasStarted = true;
    interval = setInterval(next, t);
   }
  }
  /**
   * 停止轮播
   */
  function stop() {
   clearInterval(interval);
   hasStarted = false;
  }
  //开始轮播
  start();
 });
</script>
</head>
<body>
 <div class="slider">
  <ul class="slider-main">
   <li class="slider-panel">
    <a href="http://www.jb51.net" target="_blank"><img alt="关注" title="关注" src="images/1.jpg"></a>
   </li>
   <li class="slider-panel">
    <a href="http://www.jb51.net" target="_blank"><img alt="关注" title="关注" src="images/2.jpg"></a>
   </li>
   <li class="slider-panel">
    <a href="http://www.jb51.net" target="_blank"><img alt="关注" title="关注" src="images/3.jpg"></a>
   </li>
   <li class="slider-panel">
    <a href="http://www.jb51.net" target="_blank"><img alt="关注" title="关注" src="images/4.jpg"></a>
   </li>
  </ul>
  <div class="slider-extra">
   <ul class="slider-nav">
    <li class="slider-item">1</li>
    <li class="slider-item">2</li>
    <li class="slider-item">3</li>
    <li class="slider-item">4</li>
   </ul>
   <div class="slider-page">
    <a class="slider-pre" href="javascript:;;"><</a>
    <a class="slider-next" href="javascript:;;">></a>
   </div>
  </div>
 </div>
</body>
</html>

至此一个简单的jquery轮播效果就完成了,当然还有很多需要改进的地方。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索jquery轮播代码
javascript实现轮播图、jquery实现图片轮播、用jquery实现图片轮播、jquery实现轮播图、jquery实现轮播,以便于您获取更多的相关知识。

时间: 2024-11-25 13:31:25

Jquery代码实现图片轮播效果(一)_javascript技巧的相关文章

jQuery实现的图片轮播效果完整示例_jquery

本文实例讲述了jQuery实现的图片轮播效果.分享给大家供大家参考,具体如下: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>图片轮播</title> <style type="text/css"> *{ padding: 0; margin: 0;} li{ list-

JavaScript实现图片轮播的方法_javascript技巧

本文实例讲述了JavaScript实现图片轮播的方法.分享给大家供大家参考.具体如下: 这里没有使用到JQUERY,没有过渡效果,图片可自行替换 . test2.html页面: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=&qu

基于JQuery的实现图片轮播效果(焦点图)_jquery

[实例演示] 1 2 3 4

jQuery实现图片轮播效果代码_jquery

整理以前用jQuery实现的图片轮播效果.  1. 不做操作时,自动轮播  2. 鼠标悬浮在图片上时,停止自动轮播,隐藏在图片左右的箭头会显示出来  3. 手动轮播1:鼠标指向图片底部的小标按钮,可以切换对应的图片  4. 手动轮播2:点击左右箭头也可以切换图片 效果图:(PS:用软件捕捉的,不太会弄,感觉图片都失真了) 下面是代码区域: **inde.html部分代码** <div class="box"> <ul class="img">

jQuery实现图片轮播效果代码(基于jquery.pack.js插件)_jquery

本文实例讲述了jQuery实现图片轮播效果代码.分享给大家供大家参考,具体如下: <!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"> <he

js支持键盘控制的左右切换立体式图片轮播效果代码分享_javascript技巧

本文实例讲述了js支持键盘控制的左右切换立体式图片轮播效果.分享给大家供大家参考.具体如下: 这是一款基于javascript实现支持键盘控制的左右切换立体式图片轮播效果,特别有立体感,最重要的一点是可以利用键盘进行控制. 特性介绍:      1.轻松的改变幻灯变的宽度.      2.轻易改变下一张展示图片的数量.      3.最后一张图片会循环回到第一张图片里.      4.嵌入了Fancy查看插件,在每张图片上都能查看详细图片信息. 运行效果图:                   

使用jQuery制作基础的Web图片轮播效果_jquery

首先看一下效果: 就这么个意思,没截动图哈~ 轮播效果分析: 轮播效果大致可以分为3个部分:轮播图片(图片或者是包含容器),控制轮播图显示的按钮(向左.向右按钮,索引按钮(例如上面效果图的顶部的数字按钮)),每隔一段时间轮流显示轮播图片. 轮播图的显示:要显示的轮播图显示,不需要显示的轮播图隐藏:通常将这些轮播图片以定位的方式重叠在一起,每次显示一张轮播图片. 控制按钮:鼠标点击或者移到索引按钮上面时,显示对应索引位置的轮播图:向上.向下按钮负责控制显示上一张.下一张轮播图片. 其它:一般索引按

非常棒的jQuery图片轮播效果_jquery

本文实例为大家分享了jQuery图片轮播效果,很个性,具体内容如下 购物产品展示:图片轮播器,效果如下所示: 思路说明: 每隔一段时间,实现图片的自动切换及选项卡选中效果 两个区域:    最外层容器区域,如上图红色线框矩形    选项卡区域 两个事件:     鼠标悬浮或鼠标划入mouseover     鼠标离开mouseleave /**大屏广告滚动样式**/ <!DOCTYPE html> <html lang="en"> <head> &l

JQuery实现图片轮播效果_jquery

[原理简述] 这里大概说一下整个流程: 1,将除了第一张以外的图片全部隐藏, 2,获取第一张图片的alt信息显示在信息栏,并添加点击事件 3,为4个按钮添加点击侦听,点击相应的按钮,用fadeOut,fadeIn方法显示图片 4,设置setInterval,定时执行切换函数 [代码说明] filter(":visible") :获取所有可见的元素 unbind():从匹配的元素中删除绑定的事件 siblings:取得一个包含匹配的元素集合中每一个元素的所有唯一同辈元素的元素集合 例:找