17.06.2014, 10:07
|
Интересующийся
|
|
Регистрация: 11.06.2014
Сообщений: 10
|
|
Вставить div в javascript
Добрый день. Прошу у Вас помощи. Подскажите пожалуйста , как вставить div в этот код:
function pageScroll() {
window.scrollBy(0,50);
scrolldelay = setTimeout('pageScroll()',100);
}
и вот кнопка:
<a href="javascript:pageScroll()"> </a>
Пробовал делать так:
function pageScroll() {
var div = document.getElementById("#left");
window.scrollBy(0,50);
scrolldelay = setTimeout('pageScroll ("#left")',100);
и так:
function pageScroll() {
var div = ("#left");
window.scrollBy(0,50);
scrolldelay = setTimeout('pageScroll(document.getElementById("#left"))', 100);
}
Все равно при нажатии на кнопку срабатывает главная страница, подскажите пожалуйста , как вставить правильно div.
|
|
17.06.2014, 10:32
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
yapka,
а ещё проще обьяснить?
|
|
17.06.2014, 10:45
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
yapka,
что ваша функция должна сделать в итоге? пока какая-то бесконечная рекурсия -- функция себя бесконечно запускает
|
|
17.06.2014, 10:47
|
|
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
Допустим, что прокрутить див до низу.
Зачем решетка? Зачем ты в функцию pageScroll передаешь что-то, если в ней нет аргументов? Где остановка при достижении максимальной прокрутки? У тебя тут бесконечная рекурсия получилась. И, главное - с чего бы должен прокрутиться див, когда у тебя ясно написано " window.scrollBy"?
<!DOCTYPE HTML>
<html>
<head> </head>
<body>
<script>
function scroll_into_bottom(element, step, delay) {
if (element.scrollTop >= element.scrollTopMax) return;
if (step == undefined) step = 10;
if (delay == undefined) delay = 10;
element.scrollTop += step;
setTimeout(function(){scroll_into_bottom(element, step, delay)}, delay);
}
</script>
<div id="mydiv" style="height: 100px; overflow-y: scroll; background-color: blue;">
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
</div>
<button onclick="scroll_into_bottom(document.getElementById('mydiv'))">Scroll into bottom!</button>
</body>
</html>
Последний раз редактировалось Erolast, 17.06.2014 в 10:51.
|
|
17.06.2014, 10:54
|
Интересующийся
|
|
Регистрация: 11.06.2014
Сообщений: 10
|
|
Сообщение от Erolast
|
Допустим, что прокрутить див до низу.
Зачем решетка? Зачем ты в функцию pageScroll передаешь что-то, если в ней нет аргументов? Где остановка при достижении максимальной прокрутки? У тебя тут бесконечная рекурсия получилась. И, главное - с чего бы должен прокрутиться див, когда у тебя ясно написано "window.scrollBy"?
<!DOCTYPE HTML>
<html>
<head> </head>
<body>
<script>
function scroll_into_bottom(element, step, delay) {
if (element.scrollTop >= element.scrollTopMax) return;
if (step == undefined) step = 10;
if (delay == undefined) delay = 10;
element.scrollTop += step;
setTimeout(function(){scroll_into_bottom(element, step, delay)}, delay);
}
</script>
<div id="mydiv" style="height: 100px; overflow-y: scroll; background-color: blue;">
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
</div>
<button onclick="scroll_into_bottom(document.getElementById('mydiv'))">Scroll into bottom!</button>
</body>
</html>
|
не работает так , div становится белым и все. остановка вот:
function stopScroll() {
clearTimeout(scrolldelay);
}
<a href="javascript :stopScroll()"></a>
|
|
17.06.2014, 10:55
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
Erolast,
в некоторых браузерах несмог ваш код запустить а в некоторых получил туже рекурсию
|
|
17.06.2014, 10:58
|
Интересующийся
|
|
Регистрация: 11.06.2014
Сообщений: 10
|
|
Пробую делать так:
function pageScroll() {
var div = ("#left");
div.scrollBy(0,50);
scrolldelay = setTimeout('pageScroll ()',100);
не выходит.. белый экран
|
|
17.06.2014, 11:00
|
|
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
Цитата:
|
в некоторых браузерах несмог ваш код запустить а в некоторых получил туже рекурсию
|
А... scrollTopMax не везде поддерживается, походу.
А так?
<!DOCTYPE HTML>
<html>
<head> </head>
<body>
<script>
function scroll_into_bottom(element, step, delay) {
if (element.scrollTop >= (element.scrollHeight - element.clientHeight)) return;
if (step == undefined) step = 10;
if (delay == undefined) delay = 10;
element.scrollTop += step;
setTimeout(function(){scroll_into_bottom(element, step, delay)}, delay);
}
</script>
<div id="mydiv" style="height: 100px; overflow-y: scroll; background-color: blue;">
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
</div>
<button onclick="scroll_into_bottom(document.getElementById('mydiv'))">Scroll into bottom!</button>
</body>
</html>
Цитата:
|
не выходит.. белый экран
|
И не выйдет.
Последний раз редактировалось Erolast, 17.06.2014 в 11:02.
|
|
17.06.2014, 11:00
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
yapka,
что должна сделать ваша функция и причём в ней див?
|
|
17.06.2014, 11:02
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
Сообщение от Erolast
|
А так?
|
форум говорит ошибка
|
|
|
|