jquery实现鼠标悬浮停止轮播特效

下面我来详细讲解“jquery实现鼠标悬浮停止轮播特效”的完整攻略。

步骤一:HTML结构

首先,我们需要在HTML文件中先构建出需要用到的轮播组件结构。这里我们采用了最常见的轮播组件形式,即左右箭头和轮播图内容,具体代码如下:

<div class="slider-wrapper">
  <div class="slider">
    <ul>
      <li><img src="slider1.jpg" alt=""></li>
      <li><img src="slider2.jpg" alt=""></li>
      <li><img src="slider3.jpg" alt=""></li>
      <li><img src="slider4.jpg" alt=""></li>
      <li><img src="slider5.jpg" alt=""></li>
    </ul>
  </div>
  <div class="slider-nav">
    <a href="javascript:void(0);"> < </a>
    <a href="javascript:void(0);"> > </a>
  </div>
</div>

步骤二:CSS样式

接下来,我们需要为构建出来的组件添加样式,这里我们需要设置一些基本的样式,比如:

.slider-wrapper {
  position: relative;
  margin: 0 auto;
  width: 600px;
  height: 300px;
}

.slider {
  position: absolute;
  width: 6000px;
  height: 300px;
  left: 0;
  top: 0;
}

.slider ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 600px;
  height: 300px;
  overflow: hidden;
}

.slider ul li {
  float: left;
  width: 600px;
  height: 300px;
}

.slider ul li img {
  display: block;
  width: 100%;
  height: 100%;
}

.slider-nav {
  position: absolute;
  width: 130px;
  height: 50px;
  top: 50%;
  left: 50%;
  margin-top: -25px;
  margin-left: -70px;
}

.slider-nav a {
  display: block;
  float: left;
  margin: 0 10px;
  width: 50px;
  height: 50px;
  background: #ccc;
  text-align: center;
  font-size: 30px;
  color: white;
  text-decoration: none;
  line-height: 50px;
  border-radius: 50%;
}

步骤三:jQuery实现轮播特效

接下来,在添加好HTML和CSS之后,我们需要使用jQuery来实现轮播特效。为了方便维护代码,我们将全部代码集成在一个jquery.slider.js文件中,代码如下:

$(function(){
  var slide = $('.slider'),
      ul = slide.find("ul"),
      lis = ul.find("li"),
      sliderNav = $(".slider-nav"),
      prev = sliderNav.find("a:first"),
      next = sliderNav.find("a:last"),
      sliderWidth = slide.width(),
      slideTimer,
      index = 0;

  // 动态设置轮播图区域的宽高
  slide.css({
    width: sliderWidth,
    height: lis.eq(0).height()
  });

  // 设置li总宽度
  ul.css('width', (lis.length * sliderWidth));

  // 点击下一张
  next.bind('click', function (event) {
    event.preventDefault();

    if (ul.is(':animated')) {
      return false;
    }

    index++;

    if (index >= lis.length) {
      index = 0;
    }

    ul.animate({'left': -sliderWidth*index}, 500);
  });

  // 点击上一张
  prev.bind('click', function(event) {
    event.preventDefault();

    if (ul.is(':animated')) {
      return false;
    }

    index--;

    if (index < 0) {
      index = lis.length-1;
    }

    ul.animate({'left': -sliderWidth*index}, 500);
  });

  // 自动轮播
  start();
  function start() {
    slideTimer = setInterval(function () {
      next.trigger('click');
    }, 3000);
  }

  // 悬浮暂停
  slide.hover(function() {
    clearInterval(slideTimer);
  }, function() {
    start();
  });
});

在这段代码中,我们首先获取了轮播图组件中需要用到的元素对象和参数数据等,并用上述CSS对其样式进行初始化和设置。

由于我们需要实现轮播图的自动循环和悬停暂停效果,因此,我们采用了两种计时器来实现。

在点击左右箭头区域时,ul元素会通过jQuery的animate()方法实现切换,从而实现轮播图的滑动效果。

示例一:基础轮播特效

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>轮播特效示例</title>
    <style>
      /* 样式代码 */
    </style>
  </head>
  <body>
    <div class="slider-wrapper">
      <div class="slider">
        <ul>
          <li><img src="slider1.jpg" alt=""></li>
          <li><img src="slider2.jpg" alt=""></li>
          <li><img src="slider3.jpg" alt=""></li>
        </ul>
      </div>
      <div class="slider-nav">
        <a href="javascript:void(0);"> < </a>
        <a href="javascript:void(0);"> > </a>
      </div>
    </div>
    <script src="//cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
    <script src="jquery.slider.js"></script>
  </body>
</html>

示例二:改变轮播图片数量

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>轮播特效示例</title>
    <style>
      /* 样式代码 */
    </style>
  </head>
  <body>
    <div class="slider-wrapper">
      <div class="slider">
        <ul>
          <li><img src="slider1.jpg" alt=""></li>
          <li><img src="slider2.jpg" alt=""></li>
          <li><img src="slider3.jpg" alt=""></li>
          <li><img src="slider4.jpg" alt=""></li>
          <li><img src="slider5.jpg" alt=""></li>
          <li><img src="slider6.jpg" alt=""></li>
        </ul>
      </div>
      <div class="slider-nav">
        <a href="javascript:void(0);"> < </a>
        <a href="javascript:void(0);"> > </a>
      </div>
    </div>
    <script src="//cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
    <script src="jquery.slider.js"></script>
  </body>
</html>

以上就是“jquery实现鼠标悬浮停止轮播特效”的完整攻略,希望本篇文章能够帮助到您。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jquery实现鼠标悬浮停止轮播特效 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 如何在jQuery中使用相对值创建动画

    在jQuery中,我们可以使用相对值来创建动画效果。相对值是指相对于元素当前值的增量或减量。以下是详细的攻略: 步骤一:创建HTML结构 首先,需要创建一个HTML结构来包含我们的元素。以下是一个示例: <!DOCTYPE html> <html> <head> <title>My Animation</…

    jquery 2023年5月9日
    00
  • jQuery Mobile Filterable refresh()方法

    jQuery Mobile的Filterable Widget提供了一种快速方便的搜索过滤方式,以便用户轻松地浏览大型列表。其中refresh()方法是用于在动态更新列表内容时强制Filterable Widget刷新搜索索引的方法。下面将为您提供详细的攻略,包括方法用法和两个示例说明。 一、方法用法 1.语法 $( ".selector&quot…

    jquery 2023年5月12日
    00
  • jQuery ready()方法

    jQuery的ready()方法是一种jQuery特有的异步执行方法,它确保了在文档完全加载并解析完毕后才会执行指定的代码,从而防止出现函数执行时文档仍未完全加载完毕所导致的错误。 语法 “`Javascript $(document).ready(function() { //这里插入的代码只有在文档加载完毕后才会被执行 }); ready()方法可以简…

    jquery 2023年5月12日
    00
  • jQuery UI Selectable disabled选项

    以下是关于 jQuery UI Selectable disabled 选项的详细攻略: jQuery UI Selectable disabled 选项 disabled 选项是 jQuery UI Selectable 中的一个选项,用于指定是否禁用选择功能。当 disabled 选项设置为 true 时选择功能将被禁用。当 disabled 选项设置为…

    jquery 2023年5月11日
    00
  • jQWidgets jqxBarGauge drawStart事件

    jQWidgets jqxBarGauge drawStart事件 jQWidgets是一个基于jQuery的UI组件库,提供了丰富的UI件和工具,包括表格、图表单、历、菜单等。其中,jqBarGauge是jQWidgets中的一个组件,可以用于水平或垂直条形图。jqBarGauge提供了drawStart事件,用于在条形图绘制开始前执行自定义操作。 dra…

    jquery 2023年5月9日
    00
  • jQWidgets jqxPopover close()方法

    以下是关于 jQWidgets jqxPopover 组件中 close() 方法的详细攻略。 jQWidgets jqxPopover close() 方法 jQWidgets jqxPopover 组件提供了 close() 方法,方法用于手动关闭弹出框。 语法 $(‘#popover’).jqxPopover(‘close’); 参数 无参数。 示例 …

    jquery 2023年5月12日
    00
  • RequireJS简易绘图程序开发

    首先我们需要安装RequireJS模块加载器,可以通过以下方式安装: npm install requirejs –save 安装完毕后,我们需要为我们的项目创建一个配置文件,让RequireJS可以正确地加载我们的程序。 在项目根目录下新建一个 main.js 文件,写入以下配置: requirejs.config({ baseUrl: ‘.’, pat…

    jquery 2023年5月28日
    00
  • jQuery UI Resizable aspectRatio选项

    以下是关于 jQuery UI 的 Resizable aspectRatio 选项的完整攻略: jQuery UI 的 Resizable aspectRatio 选项 在 jQuery UI 中,可以使用 resizable 方法使元素可调整大小。aspectRatio 选项可以指定调整时保持的宽高比。 语法 $(selector).resizable(…

    jquery 2023年5月11日
    00
合作推广
合作推广
分享本页
返回顶部