gpt4 book ai didi

javascript - 鼠标悬停时居中图像

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

我有几个彼此相邻的表格(第 1 行有 3 个表格,第 2 行有 3 个表格,第 3 行有 1 个表格),当我将鼠标悬停在表格单元格上时,一些图像应该显示在屏幕中央。这是它目前的样子(切换到整页):

function imageAppear(id) {
document.getElementById(id).style.visibility = "visible";
document.getElementById('lightBox').style.visibility = "visible";
}

function imageDisappear(id) {
document.getElementById(id).style.visibility = "hidden";
document.getElementById('lightBox').style.visibility = "hidden";
}
.tool2 {
border-collapse: collapse;
border-spacing: 0;
margin-left: 20px;
}

.tool2 td {
width: 1%;
font-weight: bold;
font-family: Arial, sans-serif;
font-size: 14px;
padding: 10px 5px;
border-style: solid;
border-width: 1px;
overflow: hidden;
word-break: normal;
border-color: black;
}

.tool2 th {
width: 1%;
font-family: Arial, sans-serif;
font-size: 16px;
font-weight: normal;
padding: 5px 5px;
border-style: solid;
border-width: 1px;
overflow: hidden;
word-break: normal;
border-color: black;
}

.tool2 .border {
font-family: Arial, Helvetica, sans-serif !important;
;
border-color: #333;
text-align: center
}

.tool2 .header {
font-family: Arial, Helvetica, sans-serif !important;
;
background-color: #333;
color: #ffffff;
border-color: #000000;
text-align: center
}

.wrapper {
position: relative;
z-index: 1;
width: 100%;
height: 50vh;
}
<div class="wrapper" style="width: 33%; height: 150px; float:left;">
<table class="tool2" style="width: 90%">
<tr>
<th class="header" colspan="5">Table 1</th>
</tr>
<tr>
<td class="border" colspan="2">Invoices</td>
<td class="border" rowspan="2">E-Mail</td>
<td class="border" rowspan="2">Sentiment Analysis</td>
<td class="border" rowspan="2">CRM</td>
</tr>
<tr>
<td class="border" onmouseover="imageAppear('ocr1')" onmouseout="imageDisappear('ocr1')">OCR<img src="https://cdn.theatlantic.com/assets/media/img/posts/NbYbNrs.png" alt="Ui_OCR" id="ocr1" style="z-index: 100; position: absolute; transform: translate(-50%, -50%);visibility: hidden;" /></td>
<td class="border" onmouseover="imageAppear('fe1')" onmouseout="imageDisappear('fe1')">Field extract<img src="https://cdn.theatlantic.com/assets/media/img/posts/NbYbNrs.png" alt="UI_FE" id="fe1" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden;" /></td>
</tr>
</table>
</div>

<div class="wrapper" style="width:33%; height: 150px;float:left">
<table class="tool2" style="width: 90%">
<tr>
<th class="header" colspan="5">Table 2 </th>
</tr>
<tr>
<td class="border" colspan="2">Invoices</td>
<td class="border" rowspan="2">E-Mail</td>
<td class="border" rowspan="2">Sentiment Analysis</td>
<td class="border" rowspan="2">CRM</td>
</tr>
<tr>
<td class="border" onmouseover="imageAppear('ocr2')" onmouseout="imageDisappear('ocr2')">OCR<img src="https://cdn.theatlantic.com/assets/media/img/posts/NbYbNrs.png" alt="Ui_OCR" id="ocr2" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden;" /></td>
<td class="border" onmouseover="imageAppear('fe2')" onmouseout="imageDisappear('fe2')">Field extract<img src="https://cdn.theatlantic.com/assets/media/img/posts/NbYbNrs.png" alt="UI_FE" id="fe2" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden;" /></td>
</tr>
</table>
</div>

<div class="wrapper" style="width:33%; height: 150px; float:left">
<table class="tool2" style="width: 90%">
<tr>
<th class="header" colspan="5">Table 3</th>
</tr>
<tr>
<td class="border" colspan="2">Invoices</td>
<td class="border" rowspan="2">E-Mail</td>
<td class="border" rowspan="2">Sentiment Analysis</td>
<td class="border" rowspan="2">CRM</td>
</tr>
<tr>
<td class="border" onmouseover="imageAppear('ocr3')" onmouseout="imageDisappear('ocr3')">OCR<img src="https://cdn.theatlantic.com/assets/media/img/posts/NbYbNrs.png" alt="Ui_OCR" id="ocr3" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden;" /></td>
<td class="border" onmouseover="imageAppear('fe3')" onmouseout="imageDisappear('fe3')">Field extract
<img src="https://cdn.theatlantic.com/assets/media/img/posts/NbYbNrs.png" %} " alt="UI_FE " id="fe3" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden; " /></td>
</tr>
</table>
</div>

<div class="wrapper " style="width:33%; height: 150px;float:left ">
<table class="tool2 " style="width: 90% ">
<tr>
<th class="header " colspan="5 ">Table 4</th>
</tr>
<tr>
<td class="border " colspan="2 ">Invoices</td>
<td class="border " rowspan="2 ">E-Mail</td>
<td class="border " rowspan="2 ">Sentiment Analysis</td>
<td class="border " rowspan="2 ">CRM</td>
</tr>
<tr>
<td class="border " onmouseover="imageAppear('ocr4') " onmouseout="imageDisappear('ocr4') ">OCR<img src="" alt="Ui_OCR " id="ocr4" style="z-index: 100; position: absolute; top: 50%; left:
50%; transform: translate(-50%, -50%); visibility: hidden; "/></td>
<td class="border " onmouseover="imageAppear('fe4') " onmouseout="imageDisappear('fe4') ">Field extract<img src="" alt="UI_FE " id="fe4" style="z-index: 100; position: absolute; top:
50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden; "/></td>
</tr>
</table>
</div>

<div class="wrapper " style="width:33%; height: 150px;float:left ">
<table class="tool2 " style="width: 90% ">
<tr>
<th class="header " colspan="5 ">Table 5</th>
</tr>
<tr>
<td class="border " colspan="2 ">Invoices</td>
<td class="border " rowspan="2 ">E-Mail</td>
<td class="border " rowspan="2 ">Sentiment Analysis</td>
<td class="border " rowspan="2 ">CRM</td>
</tr>
<tr>
<td class="border " onmouseover="imageAppear('ocr5') " onmouseout="imageDisappear('ocr5') ">OCR<img src="" alt="Ui_OCR " id="ocr5" style="z-index: 100; position: absolute; top: 50%; left:
50%; transform: translate(-50%, -50%); visibility: hidden; "/></td>
<td class="border " onmouseover="imageAppear('fe5') " onmouseout="imageDisappear('fe5') ">Field extract<img src="" alt="UI_FE " id="fe5 " style="z-index: 100; position: absolute; top:
50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden; "/></td>
</tr>
</table>
</div>

<div class="wrapper " style="width:33%; height: 150px;float:left ">
<table class="tool2 " style="width: 90% ">
<tr>
<th class="header " colspan="5 ">Table 6</th>
</tr>
<tr>
<td class="border " colspan="2 ">Invoices</td>
<td class="border " rowspan="2 ">E-Mail</td>
<td class="border " rowspan="2 ">Sentiment Analysis</td>
<td class="border " rowspan="2 ">CRM</td>
</tr>
<tr>
<td class="border " onmouseover="imageAppear( 'ocr6') " onmouseout="imageDisappear( 'ocr6') ">OCR<img src="" alt="Ui_OCR " id="ocr6" style="z-index: 100; position: absolute; top: 50%; left:
50%; transform: translate(-50%, -50%); visibility: hidden; "/></td>
<td class="border " onmouseover="imageAppear('fe6') " onmouseout="imageDisappear('fe6') ">Field extract<img src="" alt="UI_FE " id="fe6 " style="z-index: 100; position: absolute; top:
50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden; "/></td>
</tr>
</table>
</div>

<div class="wrapper " style="width:33%; height: 150px;float:left ">
<table class="tool2 " style="width: 90% ">
<tr>
<th class="header " colspan="5 ">Table 7</th>
</tr>
<tr>
<td class="border " colspan="2 ">Invoices</td>
<td class="border " rowspan="2 ">E-Mail</td>
<td class="border " rowspan="2 ">Sentiment Analysis</td>
<td class="border " rowspan="2 ">CRM</td>
</tr>
<tr>
<td class="border " onmouseover="imageAppear( 'ocr7') " onmouseout="imageDisappear('ocr7') ">OCR<img src="" alt="Ui_OCR " id="ocr7" style="z-index: 100; position: absolute; top: 50%; left:
50%; transform: translate(-50%, -50%); visibility: hidden; "/></td>
<td class="border " onmouseover="imageAppear('fe7') " onmouseout="imageDisappear('fe7') ">Field extract<img src="" alt="UI_FE " id="fe7 " style="z-index: 100; position: absolute; top:
50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden; "/></td>
</tr>
</table>
</div>
<div class="wrapper " style="width:33%; height: 150px;float:left; ">
<table class="tool2 " style="width: 90%; ">
<tr>
<th class="header " colspan="5 ">Table 8</th>
</tr>
<tr>
<td class="border " colspan="2 ">Invoices</td>
<td class="border " rowspan="2 ">E-Mail</td>
<td class="border " rowspan="2 ">Sentiment Analysis</td>
<td class="border " rowspan="2 ">CRM</td>
</tr>
<tr>
<td class="border " onmouseover="imageAppear('ocr8') " onmouseout="imageDisappear('ocr8') ">OCR<img src="" alt="Ui_OCR " id="ocr8" style="z-index: 100; position: absolute; top: 50%; left: 50%;
transform: translate(-50%, -50%); visibility: hidden; "/></td>
<td class="border " onmouseover="imageAppear('fe8') " onmouseout="imageDisappear('fe8') ">Field extract<img src="" alt="UI_FE " id="fe8 " style="z-index: 100; position: absolute; top:
50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden; "/></td>
</tr>
</table>
</div>
<div id="lightBox " class="light-box "></div>

但是我遇到了一些问题:
1. 我似乎不知道如何编辑 <img>用于将显示的图像定位在屏幕中央的样式值,从当前滚动位置开始,无论图像从哪个表格单元格显示。
2. 页面在底部添加了很多空白空间来为图像腾出空间。有解决办法吗?
3.我用lightBox作为使图像后面的网页变灰的元素。除了表格本身,整个页面都变灰了,但我不明白为什么会这样。

最佳答案

您的内联 CSS 在 2 个 OCR td 标签上不相同。这就是您遇到此问题的原因。

function imageAppear(id) {
document.getElementById(id).style.visibility = "visible";
document.getElementById('lightBox').style.visibility = "visible";
document.getElementsByClassName("wrapper")[0].style.position = "static";
}

function imageDisappear(id) {
document.getElementById(id).style.visibility = "hidden";
document.getElementById('lightBox').style.visibility = "hidden";
document.getElementsByClassName("wrapper")[0].style.position = "relative";
}
.tool2 {
border-collapse: collapse;
border-spacing: 0;
margin-left: 20px;
}

.tool2 td {
width: 1%;
font-weight: bold;
font-family: Arial, sans-serif;
font-size: 14px;
padding: 10px 5px;
border-style: solid;
border-width: 1px;
overflow: hidden;
word-break: normal;
border-color: black;
}

.tool2 th {
width: 1%;
font-family: Arial, sans-serif;
font-size: 16px;
font-weight: normal;
padding: 5px 5px;
border-style: solid;
border-width: 1px;
overflow: hidden;
word-break: normal;
border-color: black;
}

.tool2 .border {
font-family: Arial, Helvetica, sans-serif !important;
;
border-color: #333;
text-align: center
}

.tool2 .header {
font-family: Arial, Helvetica, sans-serif !important;
;
background-color: #333;
color: #ffffff;
border-color: #000000;
text-align: center
}

.wrapper {
position: relative;
z-index: 1;
width: 100%;
height: 50vh;
}
<div class="wrapper" style="width: 33%; height: 150px; float:left;">
<table class="tool2" style="width: 90%">
<tr>
<th class="header" colspan="5">Table 1</th>
</tr>
<tr>
<td class="border" colspan="2">Invoices</td>
<td class="border" rowspan="2">E-Mail</td>
<td class="border" rowspan="2">Sentiment Analysis</td>
<td class="border" rowspan="2">CRM</td>
</tr>
<tr>
<td class="border" onmouseover="imageAppear('ocr')" onmouseout="imageDisappear('ocr')">OCR<img src="https://cdn.theatlantic.com/assets/media/img/posts/NbYbNrs.png" alt="Ui_OCR" id="ocr" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden;" /></td>
<td class="border" onmouseover="imageAppear('fe')" onmouseout="imageDisappear('fe')">Field extract<img src="https://cdn.theatlantic.com/assets/media/img/posts/NbYbNrs.png" alt="UI_FE" id="fe" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden;" /></td>
</tr>
</table>
</div>

<div class="wrapper" style="width:33%; height: 150px;float:left">
<table class="tool2" style="width: 90%">
<tr>
<th class="header" colspan="5">Table 2 </th>
</tr>
<tr>
<td class="border" colspan="2">Invoices</td>
<td class="border" rowspan="2">E-Mail</td>
<td class="border" rowspan="2">Sentiment Analysis</td>
<td class="border" rowspan="2">CRM</td>
</tr>
<tr>
<td class="border" onmouseover="imageAppear('ocr')" onmouseout="imageDisappear('ocr')">OCR<img src="https://cdn.theatlantic.com/assets/media/img/posts/NbYbNrs.png" alt="Ui_OCR" id="ocr" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden;" /></td>
<td class="border" onmouseover="imageAppear('fe')" onmouseout="imageDisappear('fe')">Field extract<img src="https://cdn.theatlantic.com/assets/media/img/posts/NbYbNrs.png" alt="UI_FE" id="fe" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden;" /></td>
</tr>
</table>
</div>

<div class="wrapper" style="width:33%; height: 150px; float:left">
<table class="tool2" style="width: 90%">
<tr>
<th class="header" colspan="5">Table 3</th>
</tr>
<tr>
<td class="border" colspan="2">Invoices</td>
<td class="border" rowspan="2">E-Mail</td>
<td class="border" rowspan="2">Sentiment Analysis</td>
<td class="border" rowspan="2">CRM</td>
</tr>
<tr>
<td class="border" onmouseover="imageAppear('ocr')" onmouseout="imageDisappear('ocr')">OCR<img src="https://cdn.theatlantic.com/assets/media/img/posts/NbYbNrs.png" alt="Ui_OCR" id="ocr" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden;" /></td>
<td class="border" onmouseover="imageAppear('fe')" onmouseout="imageDisappear('fe')">Field extract
<img src="https://cdn.theatlantic.com/assets/media/img/posts/NbYbNrs.png" %} " alt="UI_FE " id="fe" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden;"/></td>
</tr>
</table>
</div>

<div class="wrapper " style="width:33%; height: 200px;float:left ">
<table class="tool2 " style="width: 90% ">
<tr>
<th class="header " colspan="5 ">Table 4</th>
</tr>
<tr>
<td class="border " colspan="2 ">Invoices</td>
<td class="border " rowspan="2 ">E-Mail</td>
<td class="border " rowspan="2 ">Sentiment Analysis</td>
<td class="border " rowspan="2 ">CRM</td>
</tr>
<tr>
<td class="border " onmouseover="imageAppear('ocr') " onmouseout="imageDisappear( 'ocr') ">OCR<img src="{% static "home/Screenshots/UiPath/InvToExcel.png" %} " alt="Ui_OCR " id="ocr" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden;"/></td>
<td class="border " onmouseover="imageAppear('fe') " onmouseout="imageDisappear( 'fe') ">Field extract<img src="{% static "home/Screenshots/UiPath/InvToExcel_Extract.png" %} " alt="UI_FE " id="fe" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden;"/></td>
</tr>
</table>
</div>

<div class="wrapper " style="width:33%; height: 150px;float:left ">
<table class="tool2 " style="width: 90% ">
<tr>
<th class="header " colspan="5 ">Table 5</th>
</tr>
<tr>
<td class="border " colspan="2 ">Invoices</td>
<td class="border " rowspan="2 ">E-Mail</td>
<td class="border " rowspan="2 ">Sentiment Analysis</td>
<td class="border " rowspan="2 ">CRM</td>
</tr>
<tr>
<td class="border " onmouseover="imageAppear('ocr')" onmouseout="imageDisappear('ocr')">OCR<img src="{% static "home/Screenshots/UiPath/InvToExcel.png" %} " alt="Ui_OCR " id="ocr" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden;"/></td>
<td class="border " onmouseover="imageAppear('fe') " onmouseout="imageDisappear('fe')">Field extract<img src="{% static "home/Screenshots/UiPath/InvToExcel_Extract.png" %} " alt="UI_FE" id="fe" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden;"/></td>
</tr>
</table>
</div>

<div class="wrapper " style="width:33%; height: 150px;float:left ">
<table class="tool2 " style="width: 90% ">
<tr>
<th class="header " colspan="5 ">Table 6</th>
</tr>
<tr>
<td class="border " colspan="2 ">Invoices</td>
<td class="border " rowspan="2 ">E-Mail</td>
<td class="border " rowspan="2 ">Sentiment Analysis</td>
<td class="border " rowspan="2 ">CRM</td>
</tr>
<tr>
<td class="border " onmouseover="imageAppear('ocr')" onmouseout="imageDisappear( 'ocr') ">OCR<img src="{% static "home/Screenshots/UiPath/InvToExcel.png" %} " alt="Ui_OCR " id="ocr" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden;"/></td>
<td class="border " onmouseover="imageAppear('fe')" onmouseout="imageDisappear('fe') ">Field extract<img src="{% static "home/Screenshots/UiPath/InvToExcel_Extract.png" %} " alt="UI_FE " id="fe" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden;"/></td>
</tr>
</table>
</div>

<div class="wrapper " style="width:33%; height: 150px;float:left ">
<table class="tool2 " style="width: 90% ">
<tr>
<th class="header " colspan="5 ">Table 7</th>
</tr>
<tr>
<td class="border " colspan="2 ">Invoices</td>
<td class="border " rowspan="2 ">E-Mail</td>
<td class="border " rowspan="2 ">Sentiment Analysis</td>
<td class="border " rowspan="2 ">CRM</td>
</tr>
<tr>
<td class="border " onmouseover="imageAppear( 'ocr') " onmouseout="imageDisappear( 'ocr') ">OCR<img src="{% static "home/Screenshots/UiPath/InvToExcel.png" %} " alt="Ui_OCR " id="ocr" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden;"/></td>
<td class="border " onmouseover="imageAppear('fe') " onmouseout="imageDisappear( 'fe') ">Field extract<img src="{% static "home/Screenshots/UiPath/InvToExcel_Extract.png" %} " alt="UI_FE " id="fe" style="z-index: 100; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); visibility: hidden;"/></td>
</tr>
</table>
</div>
<div id="lightBox" class="light-box "></div>

顺便说一句,id 是一个唯一标识符,所以不要在多个标签上分配相同的 id。如果想分配相同的值,则添加为类而不是 id

关于javascript - 鼠标悬停时居中图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57118217/

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