#javascript #jquery #html #css #scroll
#javascript #jquery #HTML #css #прокрутка
Вопрос:
У меня есть изображение стрелки в div. Этот div закреплен в правом нижнем углу очень широкой страницы.
Как я могу использовать jQuery для прокрутки окна вправо на 600 пикселей при каждом нажатии на div? (И возможно ли определить, когда страница больше не может прокручиваться вправо, и скрыть стрелку?)
Приветствия.
Ответ №1:
Попробуйте что-то вроде этого:
var distance = 600;
$("div").click(function() {
$("html:not(:animated), body:not(:animated)").animate(
{scrollLeft: " =" distance}, 400
);
});
jsfiddle здесь: http://jsfiddle.net/juXLu/2
[править] И здесь определяется, находитесь ли вы в конце документа http://jsfiddle.net/lukemartin/juXLu/5
var distance = 600,
docWidth = $(document).width(),
scrollPos;
// click handler
$("div").click(function() {
// animate
$("html:not(:animated), body:not(:animated)").animate(
// amount to scroll
{scrollLeft: " =" distance},
// scroll speed (ms)
400,
// callback function
function(){
// check our scroll position
scrollPos = $(window).width() $(window).scrollLeft();
// if it equals the doc width, we're at the end
if(docWidth === scrollPos) {
$("div").text("End of the line");
}
}
);
});
Ответ №2:
Используйте метод jquery scrollLeft
$(document).ready(function(){
$(window).scrollLeft((Number($(window).scrollLeft()) 600) 'px');
});
Что-то вроде этого 🙂
Ответ №3:
Вы могли бы использовать плагин Scrollto,
http://plugins.jquery.com/project/ScrollTo
Это действительно просто в использовании, просто воспользуйтесь документацией. Затем вы могли бы создать заполнитель, чтобы определить, находится ли он в конце страницы. Просто вставьте заполнитель в самом конце и вычислите расстояние.
Комментарии:
1. я попытаюсь придумать какой-нибудь код, который поможет вам, но сейчас я немного занят.