Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Прокрутка дива (https://javascript.ru/forum/misc/16712-prokrutka-diva.html)

(Sandr) 19.04.2011 02:28

Прокрутка дива
 
Помогите решить проблему, пожалуйста)
Есть ссылка, после клика на которую через jQuery (ajax) загружаются данные. С примерным стилем
background: #eeeeee;
border: 1px black solid;
width: 500px;
text-align: center;
position: fixed;
как видно, это подобие модального окна. Только загружаемые данные могут не поместиться на экране, а когда я хочу прокрутить в низ, то прокручивается не данные, загруженные в див, а в остальное кроме него. Как сделать на оборот, чтоб данные из дива прокручивались, а всё остальное было статично?

(Sandr) 19.04.2011 02:46

Это напоминает просмотр комментариев вконтакте. Когда комментов к, например, картинке достаточно много, то при прокрутке колёсиком мыши прокручиваются сами комменты, а фон статичен.

x-yuri 19.04.2011 12:41

что-то типа такого

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
	<script src="http://jsfiddle.net/js/lib/mootools-core-1.3.1-full-nocompat.js" type="text/javascript"></script>
</head>
<body>
    
<style type="text/css">
body, html {
    padding: 0;
    margin: 0;
}
.bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.5;
    background: #000;
    overflow: auto;
}
.wrapper {
    padding: 100px;
}
.content {
    width: 1000px;
    height: 1000px;
    background: url(http://placekitten.com/1000/1000);
}
</style>

content
<a id="link" href="#">lightbox</a>

<script type="text/javascript">
	$('link').addEvent('click', function(){
		$$('html, body').setStyle('overflow', 'hidden');
		new Element('div', {'class': 'bg', 'html':
			'<table><tr><td class="wrapper"><div class="content"></table></div>'
		})
			.inject(document.body);
	});
</script>

</body>
</html>

(Sandr) 19.04.2011 13:15

К сожалению, такой вариант не подойдёт.

x-yuri 19.04.2011 13:46

почему?

(Sandr) 19.04.2011 14:31

Нужна прокрутка без скролла, или как там его.. К тому же сдесь подключается ещё одна библиотека.

(Sandr) 19.04.2011 14:45

С прокруткой разобрался. Возникла другая проблема.
Вот код
[JS]
function change_article()
					{
						alert(1);
						var name_article = $("#change_name").val();
						var mtext_article = $("#change_mtext").val();
						var text_article = $("#change_text").val();
						var id_cat_article = $("#change_id_cat").val();
						var tags_article = $("#change_tags").val();
						var choice_comm_article = $("#change_choice_comm").val();
						var id_article = $("#change_id_article").val();
						alert(2);
						$.ajax({
								type: "POST",
								url: "adm_article.php",
								data: {id_article:id_article, name_article:name_article, mtext_article:mtext_article, text_article:text_article, id_cat_article:id_cat_article,
								tags_article:tags_article, choice_comm_article:choice_comm_article},
								success: function(html)
													{
														$("#resultat").html(html);
														alert(3);
														
													}
								});
						return false;
					}[/JS]


Код работает, но после показа последнего алерта, он должен останавливаться, но этого не происходит и осуществляется переход на страницу, указанную в switch($page) по умолчанию/

x-yuri 19.04.2011 14:46

Цитата:

Сообщение от (Sandr)
Нужна прокрутка без скролла, или как там его..

ну, как усложнить жизнь пользователю... это ты сам разберись ;)

x-yuri 19.04.2011 14:49

1) какой switch($page)? 2) ошибки какие-то появляются в консоли?

(Sandr) 19.04.2011 14:57

Цитата:

Сообщение от x-yuri (Сообщение 101401)
1) какой switch($page)? 2) ошибки какие-то появляются в консоли?


1) типа этого
switch($page)
{
case 'a':
echo 'код яваскрипта';
break;
default:
echo 'страница по умолчанию';
break;
}

В родебы если стоит в конце return false; то всё норм должно быть.

2) Щас посмотрю


Часовой пояс GMT +3, время: 07:44.