原生js和jquery实现图片轮播淡入淡出效果

原生JS和jQuery实现图片轮播淡入淡出效果

图片轮播是Web开发中常用的功能之一,而淡入淡出效果则是常见的动画效果。在这篇文章中,我们将介绍如何使用原生JS和jQuery分别实现图片轮播淡入淡出效果。

原生JS实现

HTML结构

首先,我们需要一个HTML结构来容纳图片轮播组件,如下所示:

---- ---------------
  ---- ---------------- -------
  ---- ---------------- -------
  ---- ---------------- -------
------

CSS样式

接着,我们需要对轮播组件进行一些基本的CSS样式设置,如下所示:

------- -
  --------- ---------
-
------- --- -
  --------- ---------
  ---- --
  ----- --
  -------- --
  ----------- ------- -- ------------
-
------- ---------- -
  -------- --
-

其中,.slider元素的position属性被设置为relative,以便轮播图片可以相对于该元素进行定位。.slider img元素的position属性被设置为absolute,以便它们可以覆盖在一起。另外,.slider img元素的opacity属性被设置为0,以便它们在开始时不可见。最后,.slider img.active元素的opacity属性被设置为1,以便它们在切换时可以显示出来。

JavaScript代码

下面是JavaScript代码,用于实现图片轮播淡入淡出效果:

----- ------ - ---------------------------------- ------
--- --- - --

-------- ----- -
  ------
  -- ---- - ------------- - -- -
    --- - --
  -
  ------------------ -- --------------------------------
  ------------------------------------
-

---------------- ------

其中,images是一个包含所有图片元素的NodeList对象。idx变量表示当前显示的图片索引。run函数用于切换图片。它首先将idx加1并检查其是否超过了图片数量,如果超过了则将idx重置为0。然后,它使用forEach方法遍历所有图片元素,并从它们的类列表中移除active类。最后,它将激活下一个图片元素的active类。

最后一行使用setInterval方法来定期执行run函数。在这个例子中,我们将轮播速度设置为2秒。

jQuery实现

HTML结构

同样,我们需要一个HTML结构来容纳图片轮播组件,如下所示:

---- ---------------
  ---- ---------------- -------
  ---- ---------------- -------
  ---- ---------------- -------
------

CSS样式

接着,我们需要对轮播组件进行一些基本的CSS样式设置,如下所示:

------- -
  --------- ---------
-
------- --- -
  --------- ---------
  ---- --
  ----- --
  -------- --
  ----------- ------- -- ------------
-
------- ---------- -
  -------- --
-

这些CSS样式与上面的原生JS实现相同。

JavaScript代码

下面是使用jQuery实现图片轮播淡入淡出效果的代码:

----- ------- - ---------- ------
--- --- - --

-------- ----- -
  ------
  -- ---- - -------------- - -- -
    --- - --
  -
  ------------------------------
  -----------------------------------
-

---------------- ------

在这个例子中,我们首先使用$函数获取所有图片

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/2663