我正试图在我的网站上只有一个链接到“折叠区域”的链接,我将在其中提供一个简单的联系表格;我的想法是让这个链接做一个类似于js视差的漂亮过渡,一旦到达折叠区域下方,就会巧妙地“反弹”几个像素。 (锚之间的空间大约是800px)
我在下面的代码中的尝试,但它仍然只是作为一个没有任何过渡的锚点被读取。 (我应该加载不同的jQuery库,还是以不同的顺序加载它们?)
更新了尝试12-16:
致电
正在调用的文件夹:
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
关闭head标签之前。 (如果有问题,可以在关闭</head>
之前使用一些内联样式
<script type="text/javascript">
$('a').on('click', function (event) {
event.preventDefault();//stop the browser from jumping to the anchor
var href = $(this).attr('href'),
oset = $(href).offset().top;
$('html, body').stop().animate({
scrollTop : oset
}, 700, function () {
location.hash = href;
});
});
</script>
标记,CTA divs
<div id="top" class="scrollpls"><a href="#bottom"><img src="http://www.mysite.com/imgs/down_btn.png" border="0" style="float:right; margin-top:200px;"></a></div>
..和doc
附近的底部 <div id="bottom" class="scrollpls"><a href="#top">
<img src="http://www.mysite.com/imgs/upsubway.png" style=" float: right;
float: right;
margin-right: -74px;
margin-top: 700px;
}"></a></div>
从关于此函数的早期问题创建的小提琴,并声明创建具有div高度的样式。由于在小提琴中为所有div声明这个会破坏我的布局,我尝试用类
.scrollpls {
height : 500px;
border :0px solid #000;
}
我在这里做错了什么?在我有一天得到这个之后,我会试着弄清楚如何在导航到点之后实现一个微妙的反弹“轻松”。
感谢您的帮助
答案 0 :(得分:4)
有大量的内置easing effects if you include jQueryUI。
尝试修改你的小提琴 - http://jsfiddle.net/CzQXC/
$('a').on('click', function (event) {
event.preventDefault();//stop the browser from jumping to the anchor
var href = $(this).attr('href'),
oset = $(href).offset().top;
$('html, body').stop().animate(
{
scrollTop : oset
},
1000,
'easeInOutElastic',
function ()
{
location.hash = href;
}
);
});
答案 1 :(得分:0)
试试这个:
<script type="text/javascript">
$(function() {
// this should really be in a click handler, but just for an example:
$('html,body').animate({
scrollTop: $("#testtop").offset().top
}, 2000, 'bounce');
});
</script>
注意:bounce
参数指定要使用的缓动。这是jQueryUI的一部分,因此您需要下载并将其包含在您的网页上,以使效果正常工作。
答案 2 :(得分:0)
出于某种原因,我把代码放入后需要几分钟才能运行,但最后解决了,我认为这是解决方案:
#top, #bottom {
height : 130px;
border : 0px solid #000;
overflow:hidden;
}