左上角的徽标滚动到屏幕停止

top left logo scroll to stop of screen

本文关键字:屏幕 滚动 左上角      更新时间:2023-09-26

我正在尝试在导航栏的左上角添加一些文本。单击后,我希望页面自动向上滚动到页面顶部

.HTML:

  <nav class="navbar navbar-default navbar-fixed-top">
    <a id="logo" href=".navbar">LOGO HERE</a>
    <ul id="nav_pills" class="nav nav-pills" role="tablist">
      <li role="presentation">
        <a id="test" href="#services">Services</a>
      </li>
      <li role="presentation">
        <a href="#about">About</a>
      </li>
      <li role="presentation">
        <a href="#portfolio">Portfolio</a>
      </li>
      <li role="presentation">
        <a href="#team">Team</a>
      </li>
      <li role="presentation">
        <a href="#contact">Contact</a>
      </li>
    </ul>
  </nav>

到目前为止,我的JS:

$(document).ready(function() {
    // easing scroll bluhd
    var hrefObjects = $("li a");
    hrefObjects.push($(".welcome-btn"));
    hrefObjects.push($("#logo"));
    hrefObjects.each(function() {
        $(this).on("click", function(e) {
            var mode = "easeInOutQuart";
            e.preventDefault();
            $('html, body').animate({
                scrollTop: $(this.hash).offset().top
            }, 750, mode);
        });
    })
});

我目前收到此错误,但不确定如何解决此问题。

Uncaught TypeError: Cannot read property 'top' of undefined

.push()不是

有效的jQuery函数。 hrefObjects是一个jQuery对象,而不是一个数组。

简化为:

$(document).ready(function() {
    $("li a, .welcome-btn, #logo").on("click", null, function(e) {
        $('html, body').animate({ scrollTop: 0 }, 750, "easeInOutQuart");
        return false; // prevents default
    });
});

使用 jQuery animate() 方法,这真的很容易做到。 这是一个如何做到这一点的例子 - 非常简单。

$(document).ready(function(){
	
	//Click event to scroll to top
	$('.scrollToTop').click(function(){
		$('html, body').animate({scrollTop : 0},800);
		return false;
	});
	
});
.scrollToTop{
	font-weight: bold;
	text-decoration: none;
	position:fixed;
	top:0;
	left:40px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<a href="#" class="scrollToTop">Company Name</a>
Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>Bla<br>

希望这有帮助,如果我能进一步帮助您,请在下面发表评论。

相关文章: