jquery 圆形旋转图片滚动切换效果

下面我将为你讲解实现“jQuery 圆形旋转图片滚动切换效果”的步骤和示例。

思路分析

1.准备好一个存放图片的容器和导航圆点。

2.对于导航圆点,可以使用 HTML 标签结构模拟,或者使用 CSScircle

3.图片在容器中使用 HTML 标签 img 插入。

4.为图片容器中的图片添加相同的宽度和高度,使得图片形成一个正方形。

5.使用 jQuery 控制图片的旋转和切换。

6.当鼠标悬停在导航圆点上时,切换到对应的图片。

7.当鼠标点击导航圆点时,滚动到对应的图片位置。

实现步骤

步骤1:HTML 结构

创建HTML文件,并准备好容器和导航圆点。

<div class="slider">
  <ul class="img-box">
    <li><img src="img/1.jpg" /></li>
    <li><img src="img/2.jpg" /></li>
    <li><img src="img/3.jpg" /></li>
    <li><img src="img/4.jpg" /></li>
    <li><img src="img/5.jpg" /></li>
  </ul>
  <ul class="control-nav">
    <li class="active"></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
  </ul>
</div>

步骤2:CSS 样式

使用 CSS 样式,设置容器的宽度和高度,并将容器中的图片使用绝对定位,进行布局。同时,对于导航圆点,可以使用 CSS 画圆。

.slider {
  width: 560px;
  height: 560px;
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #ccc;
}
.img-box {
  width: 1560px;
  height: 560px;
  position: absolute;
  left: -500px;
}
.img-box li {
  width: 560px;
  height: 560px;
  float: left;
  list-style: none;
}
.control-nav {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  padding: 0;
  width: 100%;
  text-align: center;
}
.control-nav li {
  width: 10px;
  height: 10px;
  list-style: none;
  background: #ccc;
  display: inline-block;
  border-radius: 50%;
  margin: 0 8px;
  cursor: pointer;
}
.control-nav li.active {
  background-color: #333;
  cursor: default;
}

步骤3:JavaScript 代码

使用 jQuery 控制滚动效果和导航圆点的悬停事件和点击事件。

$(function() {

  var len = $('.slider li').length,
    index = 0,
    timer = null;

  $('.control-nav li').eq(0).addClass('active');

  // 鼠标悬停圆点,切换到对应图片
  $('.control-nav li').mouseover(function() {
    index = $(this).index();
    $(this).addClass('active').siblings().removeClass('active');
    $('.img-box').stop().animate({ 'left': -index * 560 }, 500);
  });

  // 自动滚动
  timer = setInterval(function() {
    index++;
    if (index >= len) {
      index = 0;
    }
    $('.control-nav li').eq(index).addClass('active').siblings().removeClass('active');
    $('.img-box').stop().animate({ 'left': -index * 560 }, 500);
  }, 2000);

  // 鼠标悬停,停止自动滚动
  $('.slider').mouseover(function() {
    clearInterval(timer);
  });

  // 鼠标离开,继续自动滚动
  $('.slider').mouseout(function() {
    timer = setInterval(function() {
      index++;
      if (index >= len) {
        index = 0;
      }
      $('.control-nav li').eq(index).addClass('active').siblings().removeClass('active');
      $('.img-box').stop().animate({ 'left': -index * 560 }, 500);
    }, 2000);
  });

});

示例解释

在以上代码中,我们使用了 jQuery 来实现图片的滚动切换效果。其中,图片容器使用 position: absolute 进行绝对定位,导航圆点则使用 position: absolute 进行绝对定位,并使用 transform: translateX(-50%) 对导航圆点进行居中处理。

在 jQuery 部分,我们使用 mouseover()mouseout() 函数控制鼠标悬停事件,并使用 animate() 函数进行图片的滚动切换。

在自动滚动方面,我们使用 setInterval() 函数不断切换图片,变量 index 来控制当前图片的位置。同时,在滚动中需要对导航圆点进行激活状态的切换,使用 addClass() 函数来添加 active 类,并使用 siblings() 函数来选择其他兄弟元素。

以上就是一个简单的 “jQuery 圆形旋转图片滚动切换效果” 的实现示例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jquery 圆形旋转图片滚动切换效果 - Python技术站

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

相关文章

  • 用Jquery.load载入页面实现局部刷新

    JQuery是一种强大的Javascript库,用于在网页上执行交互式和动态的操作。其中一个重要功能就是通过load方法来实现局部刷新页面,本文将详细讲解使用Jquery.load载入页面实现局部刷新的完整攻略。 步骤一:引入Jquery库文件 首先,需要在HTML文件中引入Jquery库文件。可以从官方网站(https://jquery.com/)下载Jq…

    jquery 2023年5月28日
    00
  • jQuery UI Autocomplete destroy() 方法

    jQuery UI 的 Autocomplete 组件提供了一个 destroy() 方法,该方法用于销毁 Autocomplete 组件及其相关事件和数据。在本教程中,我们将详细介绍 Autocomplete 的 destroy()的使用方法。 destroy() 方法基本语法如下: $( ".selector" ).autocompl…

    jquery 2023年5月11日
    00
  • jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHeight,scrollTop,scrollLeft

    jQuery 位置函数是jQuery库中用于获取和操作元素位置与尺寸的一组方法,包括offset、innerWidth、innerHeight、outerWidth、outerHeight、scrollTop、scrollLeft等。 offset 方法 offset() 方法可返回指定元素相对于文档的位置。该方法返回一个包含两个属性 top 和 left …

    jquery 2023年5月27日
    00
  • jQuery :not() 选择器

    以下是关于jQuery中的:not()选择器的完整攻略: 什么是jQuery中的:not()选择器? :not()选择器是一种用于选择不匹配指定选择器的元素的语法。使用这个选择器可以轻松选择不需要的元素对其进行操作。 如何使用jQuery中的:not()选择器? 可以使用以下代码来选择不需要的元素: $(":not(another-selector…

    jquery 2023年5月12日
    00
  • jQuery Mobile Collapsibleset option()方法

    下面就是“jQuery Mobile Collapsibleset option()方法”的详细讲解: 概述 option()方法是用于设置或获取jQuery Mobile Collapsibleset插件选项的方法。 语法 $(selector).collapsibleset("option", optionName, [value])…

    jquery 2023年5月12日
    00
  • jQWidgets jqxGauge LinearGauge animationDuration属性

    jQWidgets jqxGauge LinearGauge animationDuration属性 jQWidgets是一个基于jQuery的UI组件库,提供了丰富的UI件和工具,包括表格、图、日历、菜单等。jqxauge和jqxLinearGauge是jQWidgets中的两个组件,用于显示仪表盘和线性仪表盘。这个组件都提供了animationDurat…

    jquery 2023年5月9日
    00
  • jQuery实现文件编码成base64并通过AJAX上传的方法

    以下是“jQuery实现文件编码成base64并通过AJAX上传的方法”的完整攻略: 1.前置知识 在阅读下文之前,需要了解以下知识: HTML5中的File API 获取文件内容 Base64编码方式 jQuery AJAX 上传文件的方法 2.实现步骤 2.1 通过HTML5中的File API获取文件内容 在HTML页面中,我们可以通过<inpu…

    jquery 2023年5月27日
    00
  • jQWidgets jqxSlider decrementValue()方法

    jQWidgets是一个流行的JavaScript框架,在该框架中,jqxSlider是一个能够让用户拖动滑块来输入数值的控件。decrementValue()方法是该控件的一个重要方法,它用于减小滑块的数值。 下面给出一个基本的实现示例: $(‘#slider’).jqxSlider({ template: ‘success’, ticksFrequenc…

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