gpt4 book ai didi

javascript - 为什么我的 CSS 无法使用 jquery .hover() 正确呈现?

转载 作者:太空宇宙 更新时间:2023-11-03 21:36:04 25 4
gpt4 key购买 nike

我有一个带有公共(public)类的 div 和一个隐藏的 div,只有当所说的 div 悬停在上面时才会显示。根据悬停的 div 的 ID,它应该在目标隐藏的 div 中呈现出不同的 html 字符串,附加 html,取消隐藏,然后再次隐藏并在 mouseLeave 上清除 div。看起来很简单,我使用 switch 语句获取触发 div 的 ID 并相应地呈现正确的 HTML。控制台日志根据我的 switch 语句显示了正确的 html 字符串,但是只有 switch 语句中的最后一项被附加到目标 div。

完整代码在这里:http://jsfiddle.net/xo1h8quq/

$( document ).ready(function(){

var buildHtml = function(id) {
console.log(id);
var html;
switch (id) {
case 'gluten':
html = '<p>This is why gluten sucks</p>';
case 'dairy':
html = '<p>This is why dairy sucks<p>';
case 'soy':
html = '<p>This is why soy sucks<p>';
case 'gmo':
html = '<p>This is why gmo sucks<p>';
case 'preservatives':
html = '<p>This is why preservatives suck<p>';
case 'fillers':
html = '<p>This is why fillers suck<p>';
case 'sugars':
html = '<p>This is why sugars suck<p>';
}
return html;
};

$( ".why-out" ).hover(
function() {
console.log(this);
var html = buildHtml(this.id);
$('#why-out-pop').html('');
//console.log(html);
$('#why-out-pop').append(html).removeClass('hide');

}, function() {
$('#why-out-pop').html('').addClass('hide');
}
);


});
.hide {
visibility: hidden;
}

#why-out-pop {
position: absolute;
margin-top: -158px;
margin-left: 30px;
border-style: solid;
border-width: 3px;
border-radius: 40px;
border-color: black;
background-color: #c3c3c3;
padding: 10px;
color: black;
text-align: right;
font-weight: light;
z-index: 1000;
}

.why-out {
text-align: right;
font-weight: bold;
}
#out-head {
text-align: right;
font-weight: bold;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test Seester</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src="fuck.js"></script>
</head>
<body>
<div id="out-section">
<div class="why-out" id="out-head">WHAT'S OUT</div>
<br/>
<div class="why-out" id="gluten">Gluten/Grain /OUT</div>
<br>
<div class="why-out" id="dairy">Dairy /OUT </div>
<br>
<div class="why-out" id="soy">Soy /OUT </div>
<div class="why-out" id="gmo">GMO's /OUT </div>
<div class="why-out" id="preservatives">Preservatives /OUT </div>
<div class="why-out" id="fillers">Fillers /OUT </div>
<div class="why-out" id="sugars">Refined Sugars /OUT </div>
</div>

<div class="why-out hide" id="why-out-pop">
<p>This is a test</p>
</div>

<style>


</style>
</body>

最佳答案

如果除了名称(麸质/日记......)之外文本总是相同的,你可以通过这样做来缩短代码

var buildHtml = function (id) {
return '<p>This is why ' + id + ' sucks</p>';
};

DEMO

关于javascript - 为什么我的 CSS 无法使用 jquery .hover() 正确呈现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26523597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com