【问题标题】:Change HTML Dropdown navigation position更改 HTML 下拉导航位置
【发布时间】:2022-02-18 17:36:16
【问题描述】:

我有一个我继承的网站,它全是 HTML 代码(没有 CMS)。我正在清理我的旧技能,但对于我的生活,我无法弄清楚如何在导航中移动下拉菜单。

这是网站:https://genquestnutrition.com/

我在导航菜单中移动,现在如果您将鼠标悬停在“公式”上,下拉菜单离左侧太远了。如果可能需要向右移动 25 px。这是该部分的代码:

<div class="xr_ar xr_nb0">

 <a href="javascript:;" aria-haspopup="true" onclick="return(xr_nn());">

  <img class="xr_rn_ xr_rnsp_ xr_ap" src="index_htm_files/8904.png" alt="Formulas" title="" style="left:390px;top:0px;width:60px;height:25px;"/>

  <img class="xr_rn_ xr_rnsp_ xr_ap xr_ro xr_ro0 xr_tt3" src="index_htm_files/8922.png" alt="Formulas" title="" onmousemove="xr_mo(this,220)" style="left:390px;top:0px;width:60px;height:25px;"/>

 </a>

  <div class="xr_nb2 xr_nb5 xr_smp310_-370" style="left:310px; top:25px; min-width:60px;">

  <ul class="xr_nb4">

   <li><a href="ree.htm">REE</a>

   </li> <li><a href="tee.htm">TEE</a>

   </li>

<li>
       
    <a href="https://www.easycalculation.com/health/mifflin-st-jeor-calculator.php" target="_blank">RMR Calc</a>

   </li>


  </ul>

  </div>

 </div>

尝试过改变

<div class="xr_nb2 xr_nb5 xr_smp310_-370" style="left:310px; top:25px; min-width:60px;">

<div class="xr_nb2 xr_nb5 xr_smp310_-370" style="left:335px; top:25px; min-width:60px;">

认为左侧绝对定位可以做到但上传到服务器时它不会改变。

我不确定我是否在某个地方遗漏了一些覆盖它的 JS 代码,甚至在哪里可以搜索它。

任何帮助将不胜感激。

更新:

我在roe.js 中找到了这段代码,它似乎使用xr_nb5xr_smp 来指代关注领域:

function xr_rpmnu() {
    var ll = document.getElementsByTagName('DIV');
    for (var i = 0; i < ll.length; i++) {
        if (ll[i].className.indexOf("xr_nb5") != -1) {
            if (ll[i].className.indexOf("xr_smp") != -1) {
                var x = ll[i].className.substr(ll[i].className.indexOf("xr_smp") + 6).split("_");
                var wre = (window.innerWidth || document.documentElement.clientWidth) - 16;
                var wbe = (window.innerHeight || document.documentElement.clientHeight) - 16;
                var r = ll[i].getBoundingClientRect();
                if (!r.right) {
                    setTimeout("xr_rpmnu();", 500);
                    return;
                };
                if (ll[i].className.indexOf("xr_nb51") != -1) {
                    ll[i].style.right = "";
                    ll[i].style.left = x[0] + "px";
                    r = ll[i].getBoundingClientRect();
                    if (r.right > wre) {
                        ll[i].style.left = "";
                        ll[i].style.right = x[1] + "px";
                    };
                } else if (ll[i].className.indexOf("xr_nb53") != -1) {
                    ll[i].style.left = "";
                    ll[i].style.right = x[0] + "px";
                    r = ll[i].getBoundingClientRect();
                    if (r.left < 0) {
                        ll[i].style.right = "";
                        ll[i].style.left = x[1] + "px";
                    };
                } else {
                    if (r.right < wre) {
                        ll[i].style.right = "";
                        ll[i].style.left = x[0] + "px";
                    };
                    r = ll[i].getBoundingClientRect();
                    if (r.right > wre) {
                        ll[i].style.left = "";
                        ll[i].style.right = x[1] + "px";
                    };
                };
            };
        };
        var l = ll[i].getElementsByTagName('LI');
        for (var j = 0; j < l.length; j++) {
            if (l[j].className.indexOf("xr_nb1") != -1) {
                xr_nbr(l[j].firstElementChild, 0);
            };
        };
    };
};
var xr_fitwidthlock = 0;
var xr_prevscale = 1;
var xr_prevscale1 = 1;
var xr_prevscale2 = 1;
var xr_ftwcnt = 0;

我不确定这是否是正确的部分,但如果有人可以提供帮助,那就太好了。同时,我只是把子菜单加宽了。

【问题讨论】:

  • 看起来像是某种 CMS,或者肯定是生成的模板。 Javascript 很可能会处理这些下拉菜单的定位。
  • 如果您使用开发人员控制台将定位 left:310 更改为 left:350,然后切换另一个元素,然后返回 - 左侧将回到 310。我认为 roe.js 改变了定位(xr_nb2 类)。检查开发者文档/常见问题。
  • 我只是在上面添加了一些roe.js代码。
  • 我相信您使用的模板来自Xara,也许您可​​以在这里调查更多或搜索特定社区,或在这里标记它。

标签: javascript html css


【解决方案1】:

快速修复:改为将样式添加到链接更改将边距左添加到 ul> 下拉列表

<div class="xr_nb2 xr_nb5 xr_smp310_-370" style="left:310px; top:25px; 
 min-width:150px;">
   <ul class="xr_nb4" style=" margin-left: 36px; width: 100%; ">   
   <li><a href="ree.htm">REE</a> 
   </li> <li><a href="tee.htm">TEE</a>  
   </li>  
   <li>        
    <a href="https://www.easycalculation.com/health/mifflin-st-jeor- 
           calculator.php" target="_blank">RMR Calc</a>
   </li> 
  </ul>
  </div>

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 2016-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-03
  • 1970-01-01
  • 2016-11-26
  • 2020-04-02
  • 1970-01-01
相关资源
最近更新 更多