Jquery平滑滚动只在内部工作
Jquery Smooth Scroll only working internally
我最近问了一个问题,在处理它之后…5个小时(不幸的是认真的),我能够顺利滚动到锚。这是我放入的js。
$(document).ready(function(e) {
$(".scroll").click(function(event){
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}, 1000,'swing');
});
});
我目前使用ID作为锚,但如果你想,我也可以切换到NAME。
这就是我想要的:这只适用于同一页面。我希望它能跨几页工作。
下面是我的例子:这个页面,应该加载这个页面,然后滚动到锚。
但是,它跳跃了。我应该在这段代码中添加什么?作为一个图形和html/css设计师,javascript对我来说是火箭科学。所以如果你能保持沉默我会很感激的。
坚持JS,并传递一个哈希属性:
<a href="http://something.com/some.php#start"> Go to page 2 ( Start ) </a>
<a href="http://something.com/some.php#goats"> Go to page 2 ( Goats ) </a>
并在page2
上使用简单的JS检查<script>
$(document).one("ready",function(){
if( window.location.hash.length > 0 ){
$("body, html").animate({scrollTop:$(window.location.hash).position().top},1000);
}
});
</script>
脚本将导致对象的ID为"start"(或ID为"goats")您可以在page2上定义目标,并向Yourdivision添加ID:
<div id="start"> Some content </div>
<div id="goats"> Goat content </div>
相关文章:
- JS Promises如何在内部工作
- 为什么更改范围获胜'不能在ng if内部工作,而是通过函数调用AngularJS
- CSS和Javascript可以在内部服务器上工作,但不能在外部工作
- 无法获得控制台.log在 CasperJS 中评估内部工作
- Javascript Array Push 代码如何在内部工作
- jQuery Content Switcher (无法使联系人表单在内部工作)
- GetVariable在方法内部工作
- Br在使用Jquery.html()时无法在P内部工作
- 颜色框代码在Umbraco外部工作,但在内部不工作
- yeoman生成器:复制或模板dos'不能在异步回调内部工作
- 代码在主页中工作,但不在内部目录中工作 - 仅显示加载
- 了解$.proxy如何在内部工作
- 为什么$(this)选择器在我的函数内部工作,而在外部工作
- canvas.width=canvas.width如何在内部工作
- 引导模式工作在内部页面,但不工作在主页
- setInterval只在if(){}块内部工作
- Jquery不能在函数内部工作
- Jquery平滑滚动只在内部工作
- Javascript在内部工作,而不是在外部
- “参数”对象如何在内部工作