Показать сообщение отдельно
  #1 (permalink)  
Старый 14.10.2014, 13:34
Новичок на форуме
Отправить личное сообщение для VshurygaV Посмотреть профиль Найти все сообщения от VshurygaV
 
Регистрация: 08.10.2014
Сообщений: 8

Событие в событии
Ребят всем привет Тема такая. При нажатии на блок ajax запросом выводяться блоки с информацией и блоки меню. далее нажимаем на один из блоков меню и заместо тех блоков с информацией появляются другие блоки. Проблема в следующем - при нажатии на блок меню код срабатывает. но при повторном нажатии уже не срабатывает. Код постараюсь расписать понятнее

вот скрипт с ajax запросами

$(document).ready(function(){
var data, id_nav, stranica = 1, id, KolProizvod, x;

/*При нажатии выводим блоки с информацией и меню*/
$('.slider1-li').click(function(){
	id = this.id;
        /*Меняем цвеи рамки того блока на который нажали*/
	KolProizvod = document.getElementsByClassName('slider1-li');
	x = document.querySelectorAll(".slider1-li");
	for(var i=0; i<KolProizvod.length; i++)
		{
		x[i].style.border = '2px solid #ffffff'
		}
	document.getElementById(id).style.border = '2px solid #c40135';
        /*Запросом выводим из базы блоки*/
	$.post("/netcat/modules/default/vivod-all-vendor-fuction.php",
		{
		stranica:stranica,
		id:id,
		zagolovok:zagolovok,
		},
		function(data)
			{
			document.querySelector('.ves-spisok').innerHTML = data;
                /*При нажатии выводим другие блоки с информацией и меню*/
	            $('.but_nav').click(function(){
                                       /*Получаем id на который нажали и выводим из базы блоки*/
					stranica = this.id;
					$.post("/netcat/modules/default/vivod-all-vendor-fuction.php",
						{
						stranica:stranica,
						id:id,
						zagolovok:zagolovok,
						},
						function(data)
							{
							document.querySelector('.ves-spisok').innerHTML = data;
							});
						
	            });
			return false;
			}
		);
	});
});


Код vivod-all-vendor-fuction.php

<?

/*считаем сколько всего есть у нас блоков */
$Subdivision_vendor = mysql_query("SELECT * FROM Message2011 WHERE Vendor = ".$id."", $db);
$myrow_vendor = mysql_fetch_array($Subdivision_vendor);
do
	{
	$row_all++;
	}
while ($myrow_vendor = mysql_fetch_array($Subdivision_vendor));
/*считаем сколько блоков меню нам потребуеться */
$count_but = (int)($row_all / $kolvo);
if (($row_all % $kolvo) != 0){
$count_but++;
}
/*выводим блоки */
	$Subdivision_vendor = mysql_query("SELECT * FROM Message2011 WHERE Vendor = ".$id." LIMIT ".$start.", ".$kolvo."", $db);
	$myrow_vendor = mysql_fetch_array($Subdivision_vendor);
	do
		{
		echo "
				<div class='div_one_block'>
					<div class='block_img'>
						<a href='".nc_message_link($myrow_vendor['Message_ID'], 2011)."'><img src='".nc_file_path(2011, $myrow_vendor['Message_ID'], 'Pic_prew')."' class='tovar_icon' alt=''/></a>
					</div>
					<div class='spisok_opisaniya'>
						<div class='nazvanie-tovara'><a href='".nc_message_link($myrow_vendor['Message_ID'], 2011)."' class='nazvanie-tovara-sylka'>".$myrow_vendor['Name']."</a></div>
						<div class='kasta'>";
							if ($myrow_vendor['Spec_krat'] > '') 
								{ 
								foreach ( explode("\n", $myrow_vendor['Spec_krat']) as $res )
									{
									echo "<div class='stroka-tovar'><div class='stroka-tovar-left'>".str_replace("==", "</div><div class='stroka-tovar-right'>", $res)."</div></div>"; 
									}
								}
							echo "
						</div>
					</div>
					<div class='block_cena'>
						<div class='sgirn-cena'>".$myrow_vendor['Cena']."</div><div class='small-cena'>руб./м2</div>
						<div class='clear'></div>
						<a href='".nc_message_link($myrow_vendor['Message_ID'], 2011)."' class='knopka_podrobnee'>Подробнее</a>
					</div>
				</div>";
		}
	while ($myrow_vendor = mysql_fetch_array($Subdivision_vendor));
	/*выводим блоки меню */
	$stran = 1;
	do 
		{
		echo "<div class='but_nav' id='".$stran."'  style='float:left'>".$stran."</div>";
		$stran++;
		}	
	while($stran <= $count_but )?>



Я так подозреваю, что дело в том, что второе событие находиться в теле 1 события, но убирая событие из тела первого оно вообще перестает работать даже первый раз. я Извиняюсь что так много кода но я и так сократил как смог чтоб да так чтоб еще и осталось понятно. Помогите пожалуйста я уже не один мануал облазил и не на одном форуме посидел никто не может объяснить почему так. Может вы знаете

Последний раз редактировалось VshurygaV, 14.10.2014 в 13:39.
Ответить с цитированием