Javascript 在不使用滚动条的情况下在巨大的html页面上移动浏览器视图
我有一个非常大的html页面(比如7000*5000),我需要用javascript在页面上移动用户的视图 我可以通过移除浏览器滚动条(溢出:隐藏在html上)很容易地让用户无法自己移动,接下来我需要做的是在js/jquery中控制“摄像头”在这个巨大页面上的移动 即使我搜索了很多,我也没有在网上找到任何东西,除了使用带有平滑jQuery滚动的锚,垂直移动是可以的(即使不是很整洁),但是水平移动会变得非常复杂 有没有办法做到这一点Javascript 在不使用滚动条的情况下在巨大的html页面上移动浏览器视图,javascript,jquery,html,view,Javascript,Jquery,Html,View,我有一个非常大的html页面(比如7000*5000),我需要用javascript在页面上移动用户的视图 我可以通过移除浏览器滚动条(溢出:隐藏在html上)很容易地让用户无法自己移动,接下来我需要做的是在js/jquery中控制“摄像头”在这个巨大页面上的移动 即使我搜索了很多,我也没有在网上找到任何东西,除了使用带有平滑jQuery滚动的锚,垂直移动是可以的(即使不是很整洁),但是水平移动会变得非常复杂 有没有办法做到这一点 非常感谢:)查看jQuery的动画功能。也许你可以这样做: fu
非常感谢:)查看jQuery的动画功能。也许你可以这样做:
function movePage(newTop, newLeft){
$('#pageview').animate({left:newLeft + "px", top: newTop + "px"});
}
请更新您的问题,并解释您何时想要移动页面,我可以尝试帮助您更多 查看jQuery的动画功能。也许你可以这样做:
function movePage(newTop, newLeft){
$('#pageview').animate({left:newLeft + "px", top: newTop + "px"});
}
请更新您的问题,并解释您何时想要移动页面,我可以尝试帮助您更多 jQuery scrollTo和localScroll插件非常适合这种情况。请看这里:有关选项,请看这里的演示: 这些插件允许您对动画进行排队,并定义同时水平和垂直滚动的设置,或先垂直再水平滚动的设置,等等
NealjQuery scrollTo和localScroll插件非常适合这种情况。请看这里:有关选项,请看这里的演示: 这些插件允许您对动画进行排队,并定义同时水平和垂直滚动的设置,或先垂直再水平滚动的设置,等等
Neal您的主要周围元素、div或section如果您确实有一个,请将其设置为太固定。与其在浏览器窗口中实际滚动,不如重新定位屏幕上的内容,并提供滚动效果。用户不会知道区别。您的主要周围元素、div或section如果您确实有,请将其设置为太固定。与其在浏览器窗口中实际滚动,不如重新定位屏幕上的内容,并提供滚动效果。用户不会知道两者之间的区别。如果您的浏览器不支持,您仍然可以使用JS滚动它-无论是否有CSS显示的滚动条 对于整个窗口,可以使用及其派生 对于单个DOM元素,这可以通过设置和属性来实现 使用这两种方法,您将能够构建(jQuery)动画,当然已经有一些插件可以实现这一点。例如,我发现了,但可能内置的方法和就足以满足您的需要。在这个世界上也有类似的东西
$(someSelector).animate({scrollLeft: someNumber}, 'slow');
已提到。如果您的应用程序是,您仍然可以使用JS滚动它-无论是否有CSS显示的滚动条
对于整个窗口,可以使用及其派生
对于单个DOM元素,这可以通过设置和属性来实现
使用这两种方法,您将能够构建(jQuery)动画,当然已经有一些插件可以实现这一点。例如,我发现了,但可能内置的方法和就足以满足您的需要。在这个世界上也有类似的东西
$(someSelector).animate({scrollLeft: someNumber}, 'slow');
如果你想做你自己的事情,你可以这样做
var targetOffset = $('#post-10').offset().top ;
var scrollElem = scrollableElement('html', 'body');
$(scrollElem).animate({scrollTop: targetOffset}, 400, function() {
// scroll is complete
location.hash = 'post-10';
});
// Use the first element that is "scrollable" (cross-browser fix?)
function scrollableElement(els) {
for (var i = 0, argLength = arguments.length; i <argLength; i++) {
var el = arguments[i],
$scrollElement = $(el);
if ($scrollElement.scrollTop()> 0) {
return el;
} else {
$scrollElement.scrollTop(1);
var isScrollable = $scrollElement.scrollTop()> 0;
$scrollElement.scrollTop(0);
if (isScrollable) {
return el;
}
}
}
return [];
}
我强烈推荐这个插件,它可以在水平/垂直方向上显示很多效果
如果你想做自己的事情,你可以这样做
var targetOffset = $('#post-10').offset().top ;
var scrollElem = scrollableElement('html', 'body');
$(scrollElem).animate({scrollTop: targetOffset}, 400, function() {
// scroll is complete
location.hash = 'post-10';
});
// Use the first element that is "scrollable" (cross-browser fix?)
function scrollableElement(els) {
for (var i = 0, argLength = arguments.length; i <argLength; i++) {
var el = arguments[i],
$scrollElement = $(el);
if ($scrollElement.scrollTop()> 0) {
return el;
} else {
$scrollElement.scrollTop(1);
var isScrollable = $scrollElement.scrollTop()> 0;
$scrollElement.scrollTop(0);
if (isScrollable) {
return el;
}
}
}
return [];
}
我强烈推荐这个插件,它可以在水平/垂直方向上显示很多效果
您可以从许多类似的方法中进行选择,例如在内容分区上使用相对位置、绝对位置或负边距。您可以从许多类似的方法中进行选择,例如在内容分区上使用相对位置、绝对位置或负边距。非常感谢我将对此进行深入研究,我已经看到了这些插件,但我没有意识到它们可以进行水平滚动,甚至是对角滚动。不管怎样,是否有一种“直接”的方式来控制视口?要使用moveright(100)功能移动100px右侧的浏览器窗口吗?当然,使用滚动插件,我可以滚动到一些div,然后可以移动它们,但在我看来,这不是很整洁。再次感谢谢谢你,我已经设法使用这些插件创建了一个流体滚动系统,每100毫秒滚动100像素。问题是,它在我的电脑上运行得很好,但如果我在功能较弱的电脑(如上网本)上试用,它会运行得有点慢,滚动队列也会出现问题。如何禁用队列/优化滚动?多谢了,谢谢了,我将继续研究,我已经看到了这些插件,但我没有意识到它们可以做水平滚动,甚至是对角滚动。不管怎样,是否有一种“直接”的方式来控制视口?要使用moveright(100)功能移动100px右侧的浏览器窗口吗?当然,使用滚动插件,我可以滚动到一些div,然后可以移动它们,但在我看来,这不是很整洁。再次感谢谢谢你,我已经设法使用这些插件创建了一个流体滚动系统,每100毫秒滚动100像素。问题是,它在我的电脑上运行得很好,但如果我在功能较弱的电脑(如上网本)上试用,它会运行得有点慢,滚动队列也会出现问题。如何禁用队列/优化滚动?谢谢你,把这个问题标记为对你最合适的答案:)把这个问题标记为对你最合适的答案:)