2011-04-24 66 views
2

我使用jQuery来显示和隐藏各种divs分页内容。但是,选择显示或隐藏div(例如,第1页,第2页或第3页)的选项后立即上下滚动而不是让我向下滚动页面。我根本不知道可以做什么,并且搜索Stack Overflow和Google似乎并不是其他人遇到的问题。有没有人有什么建议可能会导致这个问题,以及如何纠正它?滚动条陷入jQuery显示和隐藏

回答

1

你的意思是说你不想让页面跳转到顶部?如果是这样,这是因为你的<a>标签有href="#"。这是浏览器的正常行为,您可以在任何网站上进行测试。只需向下滚动页面,在URL的末尾添加哈希按输入,浏览器将移动到页面的顶部。

您正在使用jQuery将函数绑定到<a>标记上的click事件,该标记将首先执行该函数,然后继续遵循href。为了防止这种情况延续您可以return false;从功能或内置的jQuery功能preventDefault()stopPropagation()使用防止默认行为,并停止事件传播 - 见event.preventDefault() vs. return false

因此改变你的代码:

$("div.pages a.page1").click(function() { 
    $("div.pd-item#tethco, div.pd-item#novi, div.pd-item#inna").show(); 
    $("div.pd-item:not(#tethco, #novi, #inna)").hide(); 
    return false; 
}); 

而且对a.page2a.page3绑定函数也做同样的事情,页面将不再跳转。

+0

非常感谢,也做到了。还有一个其他因素导致了这个问题 - 我使用的平滑滚动功能是检测href =“#”并尝试对链接进行动画处理;我通过向选择器添加not([href $ =#])来修复它。 – daysrunaway 2011-04-24 17:50:28

1

试试这个:

$(".datepicker").focus(function() { 
    parent = $(this); 


    $("#ui-datepicker-div").position({ 
     my: 'left center', 
     at: 'right center', 
     of: parent 
    }); 
});