javascript - 执行 JQuery 隐藏/显示 DIV 层后是否可以定位 HTML elementID?

标签 javascript jquery html css

单击按钮后,我会隐藏一个 div 并显示另一个。然而,当新的 div 显示时,窗口位置会转到该 div,从而将用户体验从按钮转移到 div。在下面,我尝试定位页面上的 elementID,以强制窗口位置保持/移回顶部。

这可能吗,还是显示的 div 总是优先?

$(function(){
  $("#ccw").hide();  
    $("#ccwcatalog").click(function(){
        $("[name='k9course']").hide();
        $("[name='ccwcourse']").show();
        $("a#top").focus()
  });
});

最佳答案

您的“按钮”k9ccw是 href 为 #k9 的 anchor 标记和#ccw - 这意味着它将将该哈希附加到当前 URL 的末尾。

当 URL 末尾出现哈希 (#) 时,浏览器将链接到页面上与其匹配的元素(在本例中为 id 为 k9 的 div 或 id 为 ccw 的 div。您可以阅读 How do I link to part of a page? (hash?) 了解更多信息。

要解决此问题,您只需转换您的 <a></a>导航中的标签为 <button></button>标签,这样按下时它就不会链接到下面的 div。

一些建议:

当您说您试图“强制窗口位置保留/移回顶部。”时,您试图修复一开始不应该发生的事情,下次尝试采取措施回来看看它是否可以首先预防。

$(function() {
  $("#ccw").hide();
  $("#ccwcatalog").click(function() {
    $("[name='k9course']").hide();
    $("[name='ccwcourse']").show();
    $("a#logotop").focus()
  });
});

$(function() {
  $("#k9catalog").click(function() {
    $("[name='ccwcourse']").hide();
    $("[name='k9course']").show();
    $("a#logotop").focus()
  });
});
.col-lg-3,
.col-md-6 {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px
}

.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px
}

#course-nav {
  align-items: center;
  justify-content: center;
}

.single-classes-item {
  background: #003d76;
  text-align: center;
  margin-bottom: 30px;
  padding-top: 30px;
  padding-bottom: 32px;
}

.course-btn {
  display: inline-block;
  font-size: 18.5px;
  font-weight: 500;
  padding: 32px 50px 32px 50px;
  color: #ffffff;
  background: #003d76;
  letter-spacing: 0.5px;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 30px;
  cursor: pointer;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="classes-section spad" id="courses" name="courses">
  <div class="container">
    <div id="course-nav" class="row">
      <div class="col-lg-3 col-md-6">
        <div>
          <h2><button id="k9catalog" class="course-btn">K-9 Class Catalog</button></h2>
        </div>
      </div>
      <div class="col-lg-3 col-md-6">
        <div>
          <h2><button id="ccwcatalog" class="course-btn">CCW Class Catalog</button></h2>
        </div>
      </div>
    </div>
    <div id="ccw" class="row" name="ccwcourse">
      <div class="col-lg-3 col-md-6">
        <div class="single-classes-item">
          <h4>Intro to Fire arms</h4>
        </div>
      </div>
      <div class="col-lg-3 col-md-6">
        <div class="single-classes-item">
          <h4>Second Class</h4>
        </div>
      </div>
      <div class="col-lg-3 col-md-6">
        <div class="single-classes-item">
          <h4>Third Class</h4>
        </div>
      </div>
      <div class="col-lg-3 col-md-6">
        <div class="single-classes-item">
          <h4>Fourth Class</h4>
        </div>
      </div>
    </div>

    <div id="k9" class="row" name="k9course">
      <div class="col-lg-3 col-md-6">
        <div class="single-classes-item">
          <h4>K9 Class one</h4>
        </div>
      </div>
      <div class="col-lg-3 col-md-6">
        <div class="single-classes-item">
          <h4>Second Class</h4>
        </div>
      </div>
      <div class="col-lg-3 col-md-6">
        <div class="single-classes-item">
          <h4>Third Class</h4>
        </div>
      </div>
      <div class="col-lg-3 col-md-6">
        <div class="single-classes-item">
          <h4>Fourth Class</h4>
        </div>
      </div>
    </div>
  </div>
</div>

关于javascript - 执行 JQuery 隐藏/显示 DIV 层后是否可以定位 HTML elementID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60117622/

相关文章:

javascript - 如何根据多个条件进行选择

javascript - 如何使用 javascript 或 jquery 在客户端机器上创建文本文件

javascript - 在 React Native 中使用变量作为对象名称

javascript - Mootools:元素构造函数中的事件

html - 更改屏幕阅读器自定义无序列表字符的标签

javascript - 如何在 HTML5 Video 元素上获取视频的 FrameRate

html - Bootstrap 不会在移动设备上中断

javascript - 如何从 axios 响应对象中的所有项目中提取特定值到 vuex 状态

javascript - JS/jQuery 使用 if/else 语句改变 CSS

javascript - AJAX 和 jQuery 切换/点击状态(重置状态)