У меня есть страница, которая использует POST для извлечения данных из mySQL. Тем не менее, это раздражает, потому что, если я прокручу вниз и нажимаю на то, что делает POST, он полностью ударяет страницу вверх. Кто-нибудь знает какой-нибудь javascript/jquery плагин, который может это исправить?Отключение прокрутки по POST
ответ
Вы попробовали Jumping Inside Pages?
и другой пример How To Link to a Specific Spot on a Page
<div id="whatever-you-want-to-call-it">
The content of your div here.
</div>
и URL, чтобы добраться до этой точки
http://www.pagename.html#whatever-you-want-to-call-it
Ну, если вы делаете AJAX POST и заменить содержимое страницы с той, которая является результатом AJAX POST, этот эффект прокрутки не будет проблемой.
Имейте в виду, что эта операция может показаться бесшовной для пользователя (без загрузки браузера).
Допустим, у вас есть форма:
<form id="some_form" action="myphp.php">
<input name="something" value="foo"/>
<input name="something_else" value="bar" />
</form>
и JQuery:
$("#some_form").submit(function() {
var url = $(this).attr("action");
var form_data = $(this).serialize();
// post the same data via an AJAX call
$.post(url, form_data, function(data) {
// replace the contents from the received response
$("html").html(data);
});
// disable the default form submit behavior
return false;
});
Это более ясно использовать e.preventDefault(); с jQuery (как предложил Уку Лоскит). Существует также ошибка в его коде (это не сработает), поэтому я исправил его.
Вот его код с изменением:
<form id="some_form" action="myphp.php"">
<input name="something" value="foo"/>
<input name="something_else" value="bar" />
</form>
и JQuery:
$("#some_form").submit(function(e) { // e = event object, it has many usefull properties and methods
e.preventDefault();
var url = $(this).attr("action");
var form_data = $(this).serialize();
// post the same data via an AJAX call
$.post(url, form_data, function(data) {
// replace the contents from the received response
$(document).html(data);
});
});
Кстати, нет никакого способа, как добиться того, что без JavaScript, если вы хотите, чтобы остаться на та же страница (не перезагружайте, не меняйте URL-адрес). Если он используется как разбиение на страницы, вы можете добавить # some-id после URL-адреса, а затем добавить id-some-id в элемент, который должен быть наверху при загрузке страницы. Это будет хорошо работать - не нужно.
scrollTop
Попробуйте использовать:
$("#some_form").submit(function() {
var url = $(this).attr("action");
var form_data = $(this).serialize();
var currentScrollTop = $('body').scrollTop();
// post the data via an AJAX call
$.post(url, form_data, function(data) {
// replace the contents from the received response
$(document).html(data);
$('body').scrollTop(currentScrollTop);
});
// disable the default form submit behavior
return false;
});
- 1. mCustomScrollbar Отключение анимации прокрутки
- 2. отключение прокрутки по стрелке вверх и вниз
- 3. Прокрутка наложенного элемента, отключение прокрутки по телу
- 4. Отключение вертикальной прокрутки во время прокрутки по горизонтали
- 5. Отключение прокрутки списка просмотров
- 6. Отключение прокрутки прослушивателя
- 7. Отключение прокрутки на textarea
- 8. Отключение прокрутки в JSFiddle
- 9. Отключение прокрутки GridView
- 10. Отключение прокрутки цикла ComboBox
- 11. Отключение прокрутки на iPad
- 12. Отключение прокрутки QGraphicsWebView
- 13. Отключение только функции прокрутки
- 14. Отключение прокрутки события на картах
- 15. Отключение плавной прокрутки на Richtextbox
- 16. Отключение прокрутки мыши в Emacs
- 17. Отключение прокрутки при увеличении изображения
- 18. Включение и отключение автоматической прокрутки
- 19. Отключение андроида CoordinatorLayout прокрутки поведения
- 20. Отключение прокрутки с помощью System.Console.Write
- 21. Отключение прокрутки ListView внутри ScrollView
- 22. Отключение прокрутки при открытии модального
- 23. JQuery Touchwipe - отключение по умолчанию прокрутки для 1 оси только
- 24. отключение прокрутки по телу с учетом изменяющихся атрибутов
- 25. Временное отключение прокрутки на touchmove (мобильном телефоне)
- 26. отключение горизонтальной прокрутки на веб-сайте iPhone
- 27. Отключение прокрутки колеса мыши в ItemsGrid View
- 28. Отключение прокрутки среднего клика с помощью javascript
- 29. Отключение прокрутки в WebKit (режим плоской рамки)
- 30. Отключение iOS эластичного прокрутки тела и сохранение родной прокрутки
искал более динамичный способ сделать это .. в противном случае я бы осуществить это в каждый элемент списка я, который тянет с сервера .. – Zakman411
@ Zakman411: Создайте эти якоря динамически, когда вы визуализируете список. – hakre