【发布时间】:2014-11-05 15:55:35
【问题描述】:
我正在测试 jquery-steps 插件,如果我点击 Next 或 Previous 按钮(在底部)和窗口顶部低于步骤的 div 顶部(即,如果我的浏览器窗口高度太短,则会发生这种情况),滚动跳转到 body 顶部。
显然没有办法阻止这种情况,我尝试了所有方法,包括编辑插件代码。我唯一能做的就是通过向onStepChanging 事件添加一些代码来设置不同的滚动位置:
$("#steps-container").steps({
/* ... */
onStepChanging: function(event, currentIndex, priorIndex)
{
var top = 300;
var pos = $(window).scrollTop();
if (pos > top + 48)
{
$('body').scrollTop(top);
}
return true;
},
labels:
{
/* ... */
},
onFinishing: function (event, currentIndex) { submitOrderForm(); return true; }
});
有人可以帮我解决这个问题吗?谢谢!
【问题讨论】:
-
奇怪。我会建议在单击事件处理程序上调用 jQuery 的 event.preventDefault(),但 plugin does that already.发生这种情况时,您是否看到文本
#next或#previous出现在 URL 栏中? -
不,我在浏览器的状态栏中看到它,同时将鼠标悬停在按钮上,但点击后在 URL 栏中没有看到。
-
点击之前或之后浏览器的JS控制台有什么错误吗?
-
没有错误......我在问这个问题之前已经敲了 2 天,相信我:-)
-
老兄。页面上的任何其他插件可能会干扰?尝试将它们取出,看看是否可以修复。
标签: javascript jquery dom jquery-steps