jQuery实现百度图片移入移出内容提示框上下左右移动的效果

要实现“jQuery实现百度图片移入移出内容提示框上下左右移动的效果”的功能,我们需要使用jQuery的动画效果,包括fadeIn/fadeOut和animate两种方法。

下面是具体的实现步骤:

  1. 建立HTML骨架结构:包含图片列表和内容提示框两个部分。
<div class="img-list">
  <img src="" alt="">
  <img src="" alt="">
  <img src="" alt="">
  ...
</div>

<div class="tip-box">
  <p class="title">图片标题</p>
  <p class="desc">图片描述</p>
</div>
  1. 使用CSS设置样式,为内容提示框添加背景色、阴影和固定定位,为标题和描述添加样式。
.tip-box {
  width: 200px;
  padding: 10px;
  background-color: #fff;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, .3);
  position: fixed;
  z-index: 999;
}

.title {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 5px;
}

.desc {
  font-size: 14px;
  color: #666;
}
  1. 编写jQuery代码,实现提示框的显隐和位置移动效果。以下是完整代码:
$(function() {
  var $tipBox = $('.tip-box'); // 获取提示框元素
  $('.img-list img').on('mouseover', function(e) {
    var $this = $(this); // 获取当前鼠标滑过的图片元素
    var left = e.pageX + 20; // 计算提示框左侧位置
    var top = e.pageY - $tipBox.outerHeight() - 20; // 计算提示框顶部位置
    var title = $this.attr('alt'); // 获取图片标题
    var desc = $this.data('desc'); // 获取图片描述
    $tipBox.find('.title').text(title); // 添加标题内容
    $tipBox.find('.desc').text(desc); // 添加描述内容
    $tipBox.hide().stop().fadeIn(); // 显示提示框
    $tipBox.css({ left: left, top: top }); // 移动提示框到计算位置
  }).on('mouseout', function() {
    $tipBox.stop().fadeOut(); // 隐藏提示框
  });
});
  1. 对代码进行解释:

  2. 首先,通过jQuery选择器获取提示框元素和鼠标滑过的图片元素。

  3. 然后,在图片元素上绑定mouseover和mouseout事件,用于显示和隐藏提示框。
  4. 在mouseover事件中,计算提示框左侧和顶部的位置,获取图片的标题和描述内容,分别添加到提示框中,并使用fadeIn方法显示提示框,使用css方法移动提示框到计算位置。
  5. 在mouseout事件中,使用fadeOut方法隐藏提示框。

  6. 示例说明:

  7. 代码中使用了外部样式表,因此需要引入jQuery和样式表文件。示例代码中采用CDN引入jQuery。

<head>
  <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
  <link rel="stylesheet" href="style.css">
</head>
  • 在HTML中的img标签需要设置alt和data-desc属性,分别表示图片的标题和描述,例如:
<img src="img/1.jpg" alt="图片标题" data-desc="图片描述">
  • 示例效果展示:

当鼠标从图片上滑过时,会在图片上方出现一个提示框,显示图片的标题和描述,提示框可以随着鼠标的移动而移动。当鼠标移出图片时,提示框会自动隐藏。

除了以上示例,还可以使用jQuery的animate方法实现提示框的左右移动效果,具体实现方式可以参考下面的代码。

var left = e.pageX + 20; // 计算提示框左侧位置
var top = e.pageY - $tipBox.outerHeight() - 20; // 计算提示框顶部位置
var title = $this.attr('alt'); // 获取图片标题
var desc = $this.data('desc'); // 获取图片描述
$tipBox.find('.title').text(title); // 添加标题内容
$tipBox.find('.desc').text(desc); // 添加描述内容
$tipBox.hide().stop().fadeIn(); // 显示提示框
$tipBox.css({ left: left, top: top }); // 移动提示框到计算位置
// 左右移动动画效果
if (left + $tipBox.outerWidth() > $(window).width()) {
  $tipBox.stop().animate({ left: e.pageX - $tipBox.outerWidth() - 20 }, 200);
} else {
  $tipBox.stop().animate({ left: e.pageX + 20 }, 200);
}

这里计算提示框左侧位置和显示方式与之前相同,但是在后面添加了一个判断,如果提示框右侧超出了浏览器窗口的宽度,就使用animate方法将提示框向左移动到图片的左侧,否则向右移动到图片的右侧。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQuery实现百度图片移入移出内容提示框上下左右移动的效果 - Python技术站

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

相关文章

  • css核心基础总结篇(推荐)

    CSS核心基础总结篇 CSS是前端开发中不可或缺的一部分,用于定义网页的样式和布局。以下是CSS的核心基础知识和学习总结: CSS基础 CSS选择器 CSS选择器用于选择需要应用样式的HTML元素,例如: p { color: red; } CSS属性 CSS属性用于定义HTML元素的样式,例如: p { color: red; } CSS样式表 CSS样式…

    css 2023年5月18日
    00
  • JavaScript改变HTML元素的样式改变CSS及元素属性

    JavaScript可以用来操作HTML元素,这包括改变元素的样式以及元素的属性。我们可以使用JavaScript来动态地改变网页的展示效果和交互性。下面是改变HTML元素的样式和属性的完整攻略。 改变HTML元素的样式 通过JavaScript设置CSS样式 可以使用JavaScript代码来操控CSS样式,以改变HTML元素的外观和表现。JavaScri…

    css 2023年6月9日
    00
  • js+css实现回到顶部按钮(back to top)

    实现回到顶部按钮(back to top)的方法有很多种,其中一种使用js+css来实现。以下是实现该功能的详细步骤: 第一步:创建HTML结构 首先我们需要在HTML中创建一个按钮元素,并给它一个ID,例如: <button id="back-to-top">返回顶部</button> 第二步:添加CSS样式 接…

    css 2023年6月10日
    00
  • 利用Bootstrap Multiselect实现下拉框多选功能

    好的!下面提供详细的攻略: 利用Bootstrap Multiselect实现下拉框多选功能 简介 Bootstrap Multiselect是一款基于Bootstrap框架的下拉框多选插件,可以提供用户友好的UI界面,实现下拉框中选取多个选项的功能。本文将详细介绍如何使用Bootstrap Multiselect实现下拉框多选功能,并提供两个实例演示其用法…

    css 2023年6月13日
    00
  • css实现三栏布局的几种方法及优缺点

    下面是详细讲解“css实现三栏布局的几种方法及优缺点”的完整攻略。 一、三栏布局 三栏布局指的是一个页面中分别拥有左侧栏、中间栏和右侧栏,其中中间栏宽度固定,左右两栏宽度自适应,三栏均处于同一行。 二、实现方式 1. 使用浮动 使用浮动可以很方便地实现三栏布局,主要是通过给左右两栏设置宽度和浮动属性,然后设置中间栏的宽度和与左右两栏的距离即可。 <di…

    css 2023年6月10日
    00
  • 使用 CSS Paint API 动态创建与分辨率无关的可变背景效果

    使用 CSS Paint API 可以动态创建与分辨率无关的可变背景效果。步骤如下: 第一步:安装 CSS Paint Api 支持 CSS Paint API 是一个比较新的标准,目前只有部分浏览器支持,需要在 CSS 中通过 -webkit-paint 或 -moz-paint 属性来标明。具体地,在 CSS 中添加 -webkit-paint 标明支持…

    css 2023年6月9日
    00
  • box-shadow和drop-shadow实现不规则投影实例代码

    首先我们来了解一下box-shadow和drop-shadow两种方式实现阴影的不同之处: box-shadow属性是在目标元素的边框外侧形成一个矩形的投影效果。 drop-shadow属性是在目标元素和背景之间产生一个投影效果,投影效果是会根据目标元素的不规则形状进行调整的。 接下来我们分别来看一下如何使用box-shadow和drop-shadow实现不…

    css 2023年6月9日
    00
  • 你必须要知道的几个CSS技巧

    本篇攻略主要介绍一些CSS技巧,帮助网站开发者更有效率地实现网站布局和展示效果。 1. 使用Flexbox布局 Flexbox是指弹性盒子布局模型,可以用来快速构建复杂的网站布局。其主要概念包括弹性容器和弹性项。弹性容器用于包裹弹性项,控制其在水平或垂直方向的排列方式和对齐方式。以下是一个应用Flexbox的示例代码: .container { displa…

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