基于CSS3和jQuery实现跟随鼠标方位的Hover特效

实现跟随鼠标方向的Hover特效需要结合CSS3和jQuery来实现。

首先,在HTML文件中创建一个hover区域div,用于显示跟随鼠标方向的效果。代码如下:

<div class="hover-area"></div>

然后,在CSS中设置 hover-area 的样式,如下所示:

.hover-area {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 80px;
  height: 80px;
  margin-top: -40px;
  margin-left: -40px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: rgba(0,0,0,0.5);
  box-shadow: 0 0 5px rgba(255,255,255,0.5);
  z-index: 99999;
  pointer-events: none; /* 确保hover区域不会影响到鼠标事件的触发 */
}

接下来,需要使用jQuery来监测鼠标位置,并将跟随鼠标的hover区域显示在相应的位置。代码如下:

$(document).ready(function() {
  // 监测鼠标位置并移动hover区域
  $(document).mousemove(function(e) {
    $('.hover-area').css({
      'top': e.clientY - 40, // 减去 40 像素是因为 hover 区域的高度和宽度都为 80 像素
      'left': e.clientX - 40
    });
  });
});

这段代码会在文档文档加载完成后运行,并检测鼠标的位置,将hover区域的位置移动到相应的位置。

下面给出两个示例:

示例1:使用hover区域实现图片放大效果。

HTML代码:

<div class="image-container">
  <img src="image.jpg" alt="">
  <div class="hover-area"></div>
</div>

CSS代码:

.image-container {
  position: relative;
  width: 400px;
  height: 300px;
  overflow: hidden;
}

.image-container img {
  width: 100%;
  height: 100%;
  transition: transform 0.5s ease-in-out;
}

.image-container:hover img {
  transform: scale(1.2);
}

.hover-area {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}

.image-container:hover .hover-area {
  display: block;
}

Javascript代码:

$(document).ready(function() {
  // 监测鼠标位置并将hover区域移动到相应的位置
  $('.image-container').mousemove(function(e) {
    var x = e.clientX - $(this).offset().left;
    var y = e.clientY - $(this).offset().top;
    $('.hover-area').css({
      'top': y,
      'left': x
    });
  });
});

这个示例中,当鼠标移到图片上时,图片会放大,并显示hover区域,hover区域的大小和图片大小相同。当鼠标离开时,图片恢复原始大小,hover区域消失。

示例2:使用hover区域实现类似于Windows菜单弹出效果。

HTML代码:

<button class="menu-button">菜单</button>
<div class="hover-area">
  <ul>
    <li>菜单项1</li>
    <li>菜单项2</li>
    <li>菜单项3</li>
  </ul>
</div>

CSS代码:

.menu-button {
  margin-top: 100px;
}

.hover-area {
  position: fixed;
  top: 0;
  left: 0;
  width: 200px;
  height: 0;
  overflow: hidden;
  transition: height 0.5s;
}

.hover-area ul {
  margin: 0;
  padding: 0;
  list-style: none;
  background: #fff;
  border: 1px solid #ccc;
  box-shadow: 1px 1px 5px rgba(0,0,0,0.1);
}

.hover-area ul li {
  padding: 10px;
  text-align: center;
}

.menu-button:hover + .hover-area,
.hover-area:hover {
  height: 150px;
}

这个示例中,当鼠标移到按钮上时,hover区域会从顶部弹出,显示菜单项。当鼠标离开hover区域时,hover区域收回,菜单项也消失。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于CSS3和jQuery实现跟随鼠标方位的Hover特效 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 谈谈CSS隐藏元素(display,visibility)的区别

    下面我将详细讲解“谈谈CSS隐藏元素(display,visibility)的区别”。 1. display与visibility的区别 1.1 display属性 display属性用于设置元素在页面中的显示方式。通过设置display属性,我们可以让元素被隐藏或显示。常见的display取值包括:none、block、inline、inline-bloc…

    css 2023年6月10日
    00
  • CSS将img图片填满父容器div自适应容器大小的实现方法

    下面我将详细讲解一下如何使用CSS将img图片填满父容器div实现自适应容器大小的方法,敬请听我讲解。 一、使用CSS background属性将图片作为背景填充 使用 background 属性将父容器背景设置为要显示的图片,这样就可以填满整个父容器了。并且使用 background-size 属性控制背景图片缩放。 示例1:使用CSS填充父容器背景 .c…

    css 2023年6月10日
    00
  • 使用jQuery实现图片轮播效果

    关于“使用jQuery实现图片轮播效果”的攻略,我将从以下几个方面进行详细讲解: 首先,我们需要确定一个轮播图的基本结构:轮播图的容器、轮播图的图片、轮播点(可选),并添加相应的HTML和CSS样式。 <div class="slider"> <ul class="slider-list"> &…

    css 2023年6月10日
    00
  • JQuery常用简单动画操作方法回顾与总结

    下面就是关于“JQuery常用简单动画操作方法回顾与总结”的详细攻略。 一、JQuery的animate()方法 animate()方法是JQuery中最常用的动画方法之一,可以通过它来实现元素的动态变化。这个方法可以改变元素的CSS属性值,从而实现动画效果。 1. animate()方法的语法 $(selector).animate(styles,spee…

    css 2023年6月11日
    00
  • 130个漂亮CSS布局站点参考

    130个漂亮CSS布局站点参考 简介 “130个漂亮CSS布局站点参考”是一个汇集了130个基于CSS的模板和布局的站点库,提供了多种类型的站点布局样式,方便用户对站点布局进行参考和借鉴。该站点库涵盖了多个行业和场景,包括博客、企业、电商和个人展示页等,让用户能够选择适合自己站点的布局样式。 使用方法 打开“130个漂亮CSS布局站点参考”网站 选择所需场景…

    css 2023年6月11日
    00
  • CSS实现导航固定的、左右滑动的滚动条制作方法

    这里我们详细讲解一下如何使用 CSS 实现导航固定的、左右滑动的滚动条制作。 准备工作 在制作过程中,我们需要用到一些 HTML 和 CSS 代码。首先,我们需要在 HTML 中构建一个导航条,然后在 CSS 中对其进行样式设计。 HTML 导航条结构示例代码: <nav class="navigation"> <ul&…

    css 2023年6月10日
    00
  • JavaScript代码实现图片循环滚动效果

    下面是JavaScript代码实现图片循环滚动效果的完整攻略: 制作图片循环滚动效果步骤 1. HTML结构搭建 首先需要搭建包含图片的 HTML 结构,建议使用 ul 和 li 标签,ul 标签设定一个固定的宽度,使其中的 li 标签横向排列。 <!– HTML结构 –> <div class="container&quot…

    css 2023年6月10日
    00
  • CSS DIV制作梯形状的不规则网站导航

    针对如何使用CSS制作梯形状的不规则网站导航,我将提供以下完整攻略: 1. 创建容器 首先,我们需要创建一个容器,以便实现网站导航的布局。在HTML文件中添加一个DIV元素,设置class属性为“nav-container”。 <div class="nav-container"> <!– 网站导航元素放置在这里 –…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部