javascript - 使用 jQuery 在鼠标悬停时显示图像
问题描述
我正在使用 JQuery,我想在鼠标悬停/悬停在文本上时显示图像。我想这样做,而不必将图片添加到我的 HTML 文件中。我不希望图片显示在我的 html 页面上。我尝试了跨度,但这会将其添加到页面中。除非将文本悬停在上面,否则我不希望它显示在页面的任何位置。
到目前为止,这是我的代码
$(document).ready(() => {
const $container = $('<div id="container">')
$('body').append($container)
const $h1 = $('<h1>').text('Hogwarts Magic School')
$container.append($h1)
var $h4Wand = $('<h4 id="wand">').text('Unicorn Wand')
$($container).append($h4Wand)
$('#wand').on('mouseover', function() {
$('#popup').show()
})
$('#wand').on('mouseover', function() {
$('#popup').hide()
})
});
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Hogwarts</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="main.css">
<script
src="https://code.jquery.com/jquery-3.2.0.min.js"
integrity="sha256-JAW99MJVpJBGcbzEuXk4Az05s/XyDdBomFqNlM3ic+I="
crossorigin="anonymous"></script>
</head>
<body>
<h5>spring 2020</h5>
<span id="popup"><img src="wand.jpg"/></span>
<script type="text/javascript" src="app.js"></script>
</body>
</html>
解决方案
问题是你绑定了两个mouseover
事件,为了达到你的目标,mouseout
当你想隐藏图像时你需要使用
$(document).ready(() => {
const $container = $('<div id="container">')
$('body').append($container)
const $h1 = $('<h1>').text('Hogwarts Magic School')
$container.append($h1)
var $h4Wand = $('<h4 id="wand">').text('Unicorn Wand')
$($container).append($h4Wand);
$('#popup').hide();
$('#wand').on('mouseover', function() {
$('#popup').show();
})
$('#wand').on('mouseout', function() {
$('#popup').hide();
})
});
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Hogwarts</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="main.css">
<script
src="https://code.jquery.com/jquery-3.2.0.min.js"
integrity="sha256-JAW99MJVpJBGcbzEuXk4Az05s/XyDdBomFqNlM3ic+I="
crossorigin="anonymous"></script>
</head>
<body>
<h5>spring 2020</h5>
<span id="popup"><img src="https://s1.ax1x.com/2020/10/04/08bjVU.png"/></span>
<script type="text/javascript" src="app.js"></script>
</body>
</html>
另一种选择是使用一个变量来确定是隐藏还是显示图像,我认为这种方式比前一种效果更好
var count = 0;
$(document).ready(() => {
const $container = $('<div id="container">')
$('body').append($container)
const $h1 = $('<h1>').text('Hogwarts Magic School')
$container.append($h1)
var $h4Wand = $('<h4 id="wand">').text('Unicorn Wand')
$($container).append($h4Wand);
$('#popup').hide();
$('#wand').on('mouseover', function() {
if(count%2==0){
$('#popup').show();
}else{
$('#popup').hide();
}
count++;
})
});
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Hogwarts</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="main.css">
<script
src="https://code.jquery.com/jquery-3.2.0.min.js"
integrity="sha256-JAW99MJVpJBGcbzEuXk4Az05s/XyDdBomFqNlM3ic+I="
crossorigin="anonymous"></script>
</head>
<body>
<h5>spring 2020</h5>
<span id="popup"><img src="https://s1.ax1x.com/2020/10/04/08bjVU.png"/></span>
<script type="text/javascript" src="app.js"></script>
</body>
</html>
推荐阅读
- java - 如何在spoon-maven-plugin 中配置spoon 处理器类路径?
- algorithm - 如何将 0 到 n^5-1 的数组的整数插入 AVL 树?
- vba - 以与 autoshape 下拉菜单类似的方式创建形状
- c# - 通过非 Monobehavior 脚本控制数百个游戏对象
- c# - 如何将数据库备份上传到 FTP 服务器
- javascript - Hiding a Html div with a selector and JavaScript not working so well
- c# - 如何从 Xlement 中获取单独的值
- java - NoClassDefFoundError: : org.apache.log4j.Logger
- python - pyModbusTCP: read/write_single_coil - 在我的情况下位地址是什么?
- r - 为什么自动绘图功能不显示 95% 置信区间,但绘图功能呢?