我创建了一个CMS页面,我可以在其中添加文本到我的网站。 在页面上,我有多个提交表单。 为了避免滚动,我创建了一个带有jquery scrollto动作的菜单,以跳转到正确的提交表单。
$(document).on('click', '#scrollto_blogpost', function(event) {
$('html,body').animate({
scrollTop: $('#blogtitle').offset().top -100
}, 'slow');
});
它直接跳转到输入字段#blogtitle(这是表单的上部输入字段),我将其偏移以在浏览器边缘和输入字段之间留出一些间距。
如果单击菜单项,它会跳转到表单,但我无法单击输入字段,也会忽略单击提交按钮。 textarea框对点击做出反应,但仅在第二行的某处。
目前的解决方法是: - 跳转到表格。 - 用鼠标手动上下滚动 - 并且所有输入字段都会对鼠标点击做出反应。
我想这与偏移量有关,但我找不到合适的解决方案。
答案 0 :(得分:0)
//这是静态的
$('#scrollto_blogpost').click(function() {
$.scrollTo( '#blogtitle', 800, {easing:'swing'} );
$('#blogtitle').effect('highlight', {}, 3000);
});
//为不同的链接和div使用Dynamic使其像这样
<a href="#divid" class="link">click me</a>
<div id="divid">Your DIv</div>
$('.link').click(function(event) {
event.preventDefault();
var id =$(this).attr('href') //make sure your href="#divid"
$.scrollTo( id, 800, {easing:'swing'} );
$(id).effect('highlight', {}, 3000);
});