Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Общие вопросы по коду
Показать сообщение отдельно

Пользователь


Сообщения: 97
Благодарности: 8

Профиль | Отправить PM | Цитировать


lxa85, наконец-то понял о чем Вы.
1) IE - это зло, особенно 8-ой (на работе). Поставьте лучше хром - всем меньше проблем будет.
2) У Вас в 6-ой строке закрывается "</style>", хотя раньше он не был открыт, это html-ошибка.
3) Написал Вам простенький скриптик:

a) Подключаем jquery, поскольку нужны старые ie - берем версию 1.8.3
б) Событие "скролла" списка нам не подходит - поскольку когда список будет доскролен, событие вызываться больше не будет. Нужное нам событие - mousewheel (прокрутка колеса мыши). Для корректного распознавания этого события старыми браузарами, нужно подключить библиотеку "mousewheel".
в) При событии колеса мыши (на списке) - смотрим, достигнут ли конец списка, если да - скроллим сраницу вниз. Также осуществил обратный скролл (вверх).
В скрипте я подключал скрипты с удаленных источников, настоятельно рекомендую подключать их локально (т.е. со своего сайта).
Вот что вышло (вставить перед </head>):
Код: Выделить весь код
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://jscrollpane.kelvinluck.com/script/jquery.mousewheel.js"></script>
<script type="text/javascript">
function scrollPage(direction){
	var scroll = 100; //на сколько пикселей скролить
	
	var scrollTop = $(document).scrollTop(); //насколько отскролена страница
	scrollTop += direction=="up" ? -scroll : scroll;
	
	$(document).scrollTop(scrollTop);
}

$(function(){
	$("select").on("mousewheel", function(event, delta){
		//если delta "1" - скролл вверх, если "-1" - скролл вниз
		var scrollHeight = $(this).prop("scrollHeight"); //внутренняя высота списка, т.е. без скролла
		var scrollTop = $(this).scrollTop(); //на каком месте находится скролл
		var selectHeight = $(this).height(); //внешняя высота списка
		if(delta===-1 && scrollTop+selectHeight>=scrollHeight){
			scrollPage("down");
			return false;
		}else if(delta===1 && scrollTop<=0){
			scrollPage("up");
			return false;
		}
	});
});
</script>
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:02, 06-07-2013 | #425

Название темы: Общие вопросы по коду