Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   анимация контента: листание (https://javascript.ru/forum/dom-window/22428-animaciya-kontenta-listanie.html)

Apachai 19.10.2011 11:07

анимация контента: листание
 
Мозг уже скипел, все перепробовал, подскажите плиз. Надо в общем сделать так чтобы при нажатии на меню основной фон темнел и выводилось подменю и собственно контент. Дальше при переходах между меню див с контентом уезжает в сторону, меняется на другой контент и приезжает.

Скрипт
function cont(n,p){
	$('#main3').css('left',"344px");
	
	m_l=$('#content1').css('margin-left');
	m_r=$('#content2').css('margin-left');
	m_l=parseInt(m_l,10);
	m_r=parseInt(m_r,10);
	if (m_l==0) {
		n_ml=m_l-990;
		n_mr=m_r+990;
		$.post('page.php',{id:n,name:p},function(data){
		$('#main3').html(data);
		$('#content1').animate({marginLeft:n_ml},{duration: 1000});
		$('#content2').animate({marginLeft:n_mr},{duration: 1000});
	});
	}
	else if (m_r==0){
		n_mr=m_r-990;
		$('#content2').animate({marginLeft:n_mr},{duration: 1000});
		$('#main3').html('<img class="loading" src="images/loading.gif">');
		n_ml=m_l+990;
		$.post('page.php',{id:n,name:p},function(data){
		$('#main3').html(data);
		$('#content1').animate({marginLeft:n_ml},{duration: 1000});
	});
	}
}

Обработчик
<?php
include 'admin/db.php';

$p = $_POST['id'];
$i = $_POST['name'];

$result = mysql_query("SELECT * FROM `page` WHERE `id`='$p'");

echo '<a id="closem" href="javascript:closem()"></a>';

if ($p =='1' or $i=='site'){
echo '<div id="sitemenu"><a href="javascript:cont(\'6\',\'site\')">О нас</a><a href="javascript:cont(\'7\',\'site\')">Сайт-визитка</a><a href="javascript:cont(\'8\',\'site\')">Интернет магазин</a><a href="javascript:cont(\'9\',\'site\')">Флеш сайт</a></div>';
}
if ($p =='2' or $i=='aid'){
echo '<div id="sitemenu"><a href="javascript:cont(\'10\',\'aid\')">Логотипы</a><a href="javascript:cont(\'11\',\'aid\')">Фирменный стиль</a></div>';
}
if ($p =='3' or $i=='consalt'){
echo '<div id="sitemenu"><a href="javascript:cont(\'12\',\'consalt\')">О нас</a><a href="javascript:cont(\'13\',\'consalt\')">Сайт-визитка</a><a href="javascript:cont(\'14\',\'consalt\')">Интернет магазин</a><a href="javascript:cont(\'15\',\'consalt\')">Флеш сайт</a></div>';
}
if ($p =='4' or $i=='sopr'){
echo '<div id="sitemenu"><a href="javascript:cont(\'16\',\'sopr\')">О нас</a><a href="javascript:cont(\'17\',\'sopr\')">Сайт-визитка</a><a href="javascript:cont(\'18\',\'sopr\')">Интернет магазин</a><a href="javascript:cont(\'19\',\'sopr\')">Флеш сайт</a></div>';
}
if ($p =='5' or $i=='prod'){
echo '<div id="sitemenu"><a href="javascript:cont(\'20\',\'prod\')">О нас</a><a href="javascript:cont(\'21\',\'prod\')">Сайт-визитка</a><a href="javascript:cont(\'22\',\'prod\')">Интернет магазин</a><a href="javascript:cont(\'23\',\'prod\')">Флеш сайт</a></div>';
}

while ($res=mysql_fetch_array($result)) {
echo '<div id="content1"><h3>'.$res['title'].'</h3><p>'.$res['content'].'</p></div><div id="content2"><h3>'.$res['title'].'</h3><p>'.$res['content'].'</p></div>';
};
?>

Часть кода страницы:
<div id="main3">
					<div id="content1"></div>
					<div id="content2"></div>				
				</div>


Скрипт уже переделывал на сто раз, сейчас он полурабочий. У меня все полностью работает, но только если подменю будет уезжать и меняться вместе с контентом, а так ненадо.

Apachai 19.10.2011 11:29

почему то функция работает через раз. Клик - работает, клик - нет.


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