我已经审查并测试了各种功能,以防止身体在div内部滚动,并结合了应该起作用的功能.
$('.scrollable').mouseenter(function() {
$('body').bind('mousewheel DOMMouseScroll', function() {
return false;
});
$(this).bind('mousewheel DOMMouseScroll', function() {
return true;
});
});
$('.scrollable').mouseleave(function() {
$('body').bind('mousewheel DOMMouseScroll', function() {
return true;
});
});
Run Code Online (Sandbox Code Playgroud)
这样做有什么想法或更好的方法吗?
这是一个证明问题的jsbin示例.
基本上,我有以下javascript将窗口滚动到页面上的锚点:
// get anchors with href's that start with "#"
$("a[href^=#]").live("click", function(){
var target = $($(this).attr("href"));
// if the target exists: scroll to it...
if(target[0]){
// If the page isn't long enough to scroll to the target's position
// we want to scroll as much as we can. This part prevents a sudden
// stop when window.scrollTop reaches its maximum.
var y = Math.min(target.offset().top, $(document).height() - $(window).height());
// also, don't …Run Code Online (Sandbox Code Playgroud) 我有各种链接,都有唯一的id是"伪锚".我希望它们影响url哈希值,并且点击魔法全部由一些mootools代码处理.但是,当我点击链接时,它们会自动滚动(或者在一个案例中滚动到顶部).我不想在任何地方滚动,但也需要我的javascript执行并在url更新中获得哈希值.
模拟的示例代码:
<a href="#button1" id="button1">button 1</a>
<a href="#button2" id="button2">button 2</a>
<a href="#" id="reset">Home</a>
Run Code Online (Sandbox Code Playgroud)
因此,如果您点击"按钮1"链接,则网址可以是http://example.com/foo.php#button1
有没有人对此有任何想法?简单地使用一些javascript返回void会导致滚动,但也会杀死我的javascript(虽然我可以使用onclick来解决这个问题)但更重要的是,可以防止url中的哈希值发生变化.
我有一个<div id="innerContent">带overflow-y:scroll;.innerContent中锚点的链接位于父页面上,而不是在父页面上div.
到目前为止,我已尝试使用anchors和scrollto来尝试在内容中滚动.它们都完成滚动,但innerContent的高度大于浏览器窗口,因此当单击链接时,整个父页面也会滚动到锚点.
有没有办法用javascript执行此操作,而无需移动父页面?我无法控制div的高度 - 这是别人的设计.
这很接近......但这里没有答案. 如何在不滚动整个页面的情况下自动滚动内联div?
谢谢!