首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一页卷轴导航不使用Javascript?

一页卷轴导航不使用Javascript?
EN

Stack Overflow用户
提问于 2017-07-15 07:05:06
回答 2查看 73关注 0票数 0

是的,所以我尝试创建一个简单的一页滚动导航,其中包含一个基本的javascript,当它使用一个函数滚动到这个部分时,它可以动画到1秒。问题是它不起作用了。我有什么想法吗?

Html

代码语言:javascript
运行
复制
            <ul class="header-nav">
            <li><a id="home" href="#home-View">Home</a></li>
            <li><a id="about" href="#about-View">About</a></li>
            <li><a href="#">Blog</a></li>
            <li><a id="contact" href="#contact-View">Contact</a></li>
        </ul>

Javascript

代码语言:javascript
运行
复制
    $(document).ready(function() {

    // add a click listener to each <a> tags
    setBindings();

});

function setBindings() {
    $(".header-nav a").click(function(e) {
        // prevent anchor tags for working (?)
        e.preventDefault();
        var sectionID = e.currentTarget.id + "Section";

        $("html body").animate({
            scrollTop: $("#" + sectionID).offset().top
        }, 1000)

        alert("sdf");
    })
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-15 07:16:13

您根据您的id代码选择的jQuery代码无法在标记中找到,这就是为什么它无法工作并控制错误的原因,请尝试如下,

代码语言:javascript
运行
复制
  $(document).ready(function() {

    // add a click listener to each <a> tags
    setBindings();

  });

  function setBindings() {
    $(".header-nav a").click(function(e) {
      // prevent anchor tags for working (?)
      e.preventDefault();
      var sectionID = e.currentTarget.id + "-View";
      console.log(sectionID);
      $("html,body").animate({
        scrollTop: $("#" + sectionID).offset().top
      },1000);
      alert("sdf");
    })
  }
代码语言:javascript
运行
复制
body {
  height: 1200px;
}

#home-View {
  margin-top: 50px;
  background: red;
  height: 200px;
}

#about-View {
  margin-top: 50px;
  background: red;
  height: 200px;
}
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="header-nav">
  <li><a id="home" href="#home-View">Home</a></li>
  <li><a id="about" href="#about-View">About</a></li>
  <li><a href="#">Blog</a></li>
  <li><a id="contact" href="#contact-View">Contact</a></li>
</ul>
<div id="home-View"></div>
<div id="about-View"></div>

票数 1
EN

Stack Overflow用户

发布于 2017-07-15 07:14:09

尝试使用此示例导航到元素。

代码语言:javascript
运行
复制
$(document).ready(function() {

    // add a click listener to each <a> tags
    setBindings();

});

function setBindings() {
    $(".header-nav a").click(function(e) {
       
        // prevent anchor tags for working (?)
        e.preventDefault();
        var sectionID = e.currentTarget.id + "Section";
        console.log(sectionID);
        $("html body").animate({
            scrollTop: $("#" + sectionID).offset().top
        }, 1000)

        alert("sdf");
    })
}
代码语言:javascript
运行
复制
#homeSection
{
  height:200px;
  background-color:red;
  border:1px solid #DDD;
}

#aboutSection
{
  height:200px;
  background-color:white;
  border:1px solid #DDD;
}

#blogSection
{
  height:200px;
  background-color:blue;
  border:1px solid #DDD;
}

#contactSection
{
  height:200px;
  background-color:#DDD;
  border:1px solid #DDD;
}
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="header-nav">
            <li><a id="home" href="#home-View">Home</a></li>
            <li><a id="about" href="#about-View">About</a></li>
            <li><a id="blog" href="#">Blog</a></li>
            <li><a id="contact" href="#contact-View">Contact</a></li>
        </ul>
        
  
 <div id="homeSection"></div>
 <div id="aboutSection"></div>
 <div id="blogSection"></div>
 <div id="contactSection"></div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45115479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档