<!DOCTYPE html>
<html lang="en">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
var hashTagActive = "";
$(".scroll").click(function (event) {
if(hashTagActive != this.hash) { //this will prevent if the user click several times the same link to freeze the scroll.
event.preventDefault();
//calculate destination place
var dest = 0;
if ($(this.hash).offset().top > $(document).height() - $(window).height()) {
dest = $(document).height() - $(window).height();
} else {
dest = $(this.hash).offset().top;
}
//go to destination
$('html,body').animate({
scrollTop: dest
}, 2000, 'swing', function(){
hashTagActive = "";
});
hashTagActive = this.hash;
}
});
});
</script>
<meta charset="UTF-8">
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="navbar">
<ul>
<li><a href="#1">Tervetuloa</a></li>
<li><a href="#2">Sivupohjia</a></li>
<li><a href="#3">Tilaa sivut</a></li>
<li><a href="etusivu.html#4">Linkki</a></li>
<li><a href="etusivu.html#5">Linkki</a></li>
<li><a href="etusivu.html#6">Linkki</a></li>
<li><a href="etusivu.html#7">Linkki</a></li>
<li><a href="etusivu.html#8">Linkki</a></li>
<li><a href="etusivu.html#9">Linkki</a></li>
<li><a href="etusivu.html#10">Linkki</a></li>
</ul>
</div>
<div class="container">
<div class="wrapper">
<div class="content_primary">
<a name="1" id="1"></a>
<h3>Tervetuloa</h3>
<p>Tekstiä</p>
</div>
</div>
<div class="wrapper">
<div class="content_secondary">
<a name="2" id="2"></a>
<h3>Sivupohjia</h3>
<p>Tulossa</p>
</div>
</div>
<div class="wrapper">
<div class="content_primary">
<a name="3" id="3"></a>
<h3>Tilaa</h3>
<p>Tekstiä</p>
</div>
</div>
</div>
<div class="footer">
<p>© Marko Ahola</p>
</div>
</body>
</html>
为什么我必须使用括号在数字上调用此方法?
例如,function func2method(f){
return function(y) {
return f(this, y);
};
}
Number.prototype.add = func2method(function(x, y){return x+y});
无效,而3.add(4)
完全正常。
答案 0 :(得分:1)
因为3.0
与(3)['0']
文字的解释不同。点.
表示数字文字上的小数点,但对象上的点.
表示属性访问器(转换为上面的方括号表示法)