Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.05.2012, 09:44
Аспирант
Отправить личное сообщение для tuezov52 Посмотреть профиль Найти все сообщения от tuezov52
 
Регистрация: 27.02.2011
Сообщений: 42

Скрипт выполняется только 1 раз
<body>
<header class="cf">
<div class="logo"><img src="logo.PNG"></div>
<nav>
	<ul>
		<li id="login"><a id="login-trigger"> Все страницы <span>&#x25BC;</span></a>
			<div id="login-content" >
				<form>
					<fieldset id="inputs">
					<table  cellspacing="0" cellpadding="0">
					<tr><td width = "70%"></td><td><input type="text" placeholder="Поиск страниц"></td></tr>
					</table><br>
					
					
                    <table  cellspacing="0" cellpadding="7">
					    <tr class="all-page-selected-row">  
                             <td width="30%"><a class="title_page">Главная</a></td>
					         <td width="30%"><div class="url_page"><a class="invis" href="/index">/index</a></div></td>
					         <td width="30%"></td>
					         <td><a class="page-editing">Изменить</a></td>
					         <td>&nbsp;&nbsp;</td>
				             <td><a class="invis" href="del">Удалить</a></td>
                        </tr>
						
                        <tr class="all-page-selected-row">  
                             <td width="30%"><a class="title_page">Продукция</a></td>
					         <td width="30%"><div class="url_page"><a class="invis" href="/production">/production</a></div></td>
					         <td width="30%"></td>
					         <td><a class="page-editing">Изменить</a></td>
					         <td>&nbsp;&nbsp;</td>
				             <td><a class="invis" href="del">Удалить</a></td>
                        </tr>
					
					</table>



					</fieldset><br><br><br>
				<div id="form_under_line">
					<fieldset id="actions">
                      <table><tr>
					<td width="90%"></td>  
					<td><div id="closed" class="cancel"> Закрыть </div>
                    </table>					
					</fieldset>
				</div>
			</div>                     
		</li>
		

				<li id="login"><a id="login-trigger2"> Свойства страницы<span>&#x25BC;</span></a>
			<div id="login-content2">
             <form method="post">
			  <input type="text" name="title" value="Заголовок">
			  <input type="submit">
			 </form>
			</div>                     
		</li>
		
	</ul>
</nav>
</header>

<div style = "border: 1px solid;"><h1>Тестовый текст</h1></div>
</body>
</html>


<script>
		  
//Функция открытия окна: ВСЕ СТРАНИЦЫ		  
	$(document).ready(function(){
	$('#login-trigger').click(function(){
	$(this).next('#login-content').slideToggle();
	$(this).toggleClass('active');					
	if ($(this).hasClass('active')) $(this).find('span').html('&#x25B2;')
	else $(this).find('span').html('&#x25BC;')
					                    })
		                        });
								
//Функция закрытия окна: ВСЕ СТРАНИЦЫ		  
   $(document).ready(function(){
   $('div .cancel').click(function(){
   $('#login-content').hide();     })
                               });								
		  
//Функция открытия окна: СВОЙСТВА СТРАНИЦЫ		  
    $(document).ready(function(){
    $('#login-trigger2').click(function(){
	$(this).next('#login-content2').slideToggle();
    $(this).toggleClass('active');					
    if ($(this).hasClass('active')) $(this).find('span').html('&#x25B2;')
    else $(this).find('span').html('&#x25BC;') 
	                                     })
							    });
		  
//Функция закрытия окна: СВОЙСТВА СТРАНИЦЫ		  
   $(document).ready(function(){
   $('div .cancel').click(function(){
   $('#login-content2').hide();     })
                               });
		  
		  
//Подсветка параметров ( ССЫЛКА, ИЗМЕНИТЬ, УДАЛИТЬ ) в таблице: ВСЕ СТРАНИЦЫ
   $(document).ready(function(){
   $('.all-page-selected-row').mousemove(function(){
   $(this).css("background","#f2f2f2");
   $(this).find('.invis').css("color","#9b9b9b");
   $(this).find('.page-editing').css("color","#9b9b9b");
   $(this).find('.page-editing').css("border-bottom","1px solid #9b9b9b");
   });
   

                               });  


      $(document).ready(function(){
   $('.all-page-selected-row').mouseout(function(){
   $(this).css("background","#fff");
   $(this).find('.invis ').css("color","#fff");
   $(this).find('.page-editing').css("color","#fff"); 
   $(this).find('.page-editing').css("border-bottom","1px solid #fff");   
                                        })
                               });  							   
							   


							   
      $(document).ready(function(){
	
	var title_page='';
	var url_page='';
	

	$('.all-page-selected-row').mousemove(function SelectRow(){
	
	title_page = $(this).find('.title_page').text();
    url_page = $(this).find('.url_page').text();
	return title_page; 
                                                    });	
																								

    $('.page-editing').click(function PageEditing(){
	 title = title_page;
	 url = url_page; 
        line1='<td width="30%"><input type="text" value="'+title_page+'"></td>';
		line2='<td width="30%"><input type="text" value="'+url_page+'"></td>';
		line3='<td width ="10%"></td><td width="30%"><a class="link-save-page">Сохранить</a></td>';
        line4='<td><a class="link-cancel-page">Отменить</a></td>';
		
		data = line1 + line2 + line3 + line4;
    $(this).closest('tr').html(data);	
	

//Вот тут начинается проблема. Если "$('.link-cancel-page')" не внутри
//функции $('.page-editing').click(function PageEditing(), то при нажатии
//ничего не происходит. Если внутри, то только 1 раз.
//Как избежать проблемы?

	
	$('.link-cancel-page').click(function(){

	    back1 = '<td width="30%"><a class="title_page">'+title+'</a></td>';
	    back2 = '<td width="30%"><div class="url_page"><a class="invis" href="'+url+'">'+url+'</a></div></td>';
        back3 = '<td width="30%"></td><td><a class="page-editing">Изменить</a></td><td>&nbsp;&nbsp;</td><td><a class="invis" href="del">Удалить</a></td>';
 	    
		back = back1 + back2 + back3;
	$(this).closest('tr').html(back);
                                           });	
											
											
	
	                                              });
										   										 								      							       
	                                 });  
									 
							   
	</script>
Ответить с цитированием
  #2 (permalink)  
Старый 30.05.2012, 10:55
Аспирант
Отправить личное сообщение для tuezov52 Посмотреть профиль Найти все сообщения от tuezov52
 
Регистрация: 27.02.2011
Сообщений: 42

Есть кто на форуме?
Ответить с цитированием
  #3 (permalink)  
Старый 30.05.2012, 11:36
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от tuezov52
Есть кто на форуме?
Нету никого
Сократите ваш код до минимального нерабочего, показывающего вашу проблему, и тогда вам возможно помогут.
Разбираться в вашей простыне кода навряд ли кто-то станет.

PS Если в теме прошло менее суток с момента последнего сообщения, то незачем ее АП-ать. Здесь вам не личная армия, которая по первому вашему зову должна кидаться решать ваши проблемы.
Если хотите особого к себе отношения, и быстрого решения ваших проблем, можете подать заявку на платную консультацию в разделе "Работа"
Ответить с цитированием
  #4 (permalink)  
Старый 30.05.2012, 12:28
Аспирант
Отправить личное сообщение для tuezov52 Посмотреть профиль Найти все сообщения от tuezov52
 
Регистрация: 27.02.2011
Сообщений: 42

Я выложил весь код и указал в комментарии где проблема. Если тут нет людей способных понять в чем ошибка, зачем форум? Если разговор идет о платных услугах, тогда зачем мне консультация? Пожалуйста почту для тех задания и стоимость работ.

Последний раз редактировалось tuezov52, 30.05.2012 в 12:35.
Ответить с цитированием
  #5 (permalink)  
Старый 30.05.2012, 12:35
Аспирант
Отправить личное сообщение для tuezov52 Посмотреть профиль Найти все сообщения от tuezov52
 
Регистрация: 27.02.2011
Сообщений: 42

"PS Если в теме прошло менее суток с момента последнего сообщения, то незачем ее АП-ать. Здесь вам не личная армия, которая по первому вашему зову должна кидаться решать ваши проблемы." - Вы сразу настраиваете на соответствующее отношение своим тоном.
Ответить с цитированием
  #6 (permalink)  
Старый 30.05.2012, 12:48
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от tuezov52
зачем форум?
http://phpclub.ru/faq/WhyForum
Ответить с цитированием
  #7 (permalink)  
Старый 30.05.2012, 12:57
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

tuezov52,
вы правда думаете, что форум для того, чтобы выискивать ошибки в портянках чужих скриптов? Что-то вроде "чо та лень мне дебажить, пойду на форуме выложу, пусть другие подебажат".
Ответить с цитированием
  #8 (permalink)  
Старый 30.05.2012, 13:02
Аспирант
Отправить личное сообщение для tuezov52 Посмотреть профиль Найти все сообщения от tuezov52
 
Регистрация: 27.02.2011
Сообщений: 42

Вопрос не в том, что лень. Я уже пробовал кучу вариантов и смотрел похожие ошибки. Не нашел ответа и решил спросить у тех кто хорошо знает JS/JQ. Я не прошу поправить скрипт. Натолкните на мысль, что я делаю не так. Не факт, что ошибка вообще в этом месте. МБ я вообще ерунду пишу.
Ответить с цитированием
  #9 (permalink)  
Старый 31.05.2012, 11:55
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

tuezov52,
Попробуйте так
<script>
		  
//Функция открытия окна: ВСЕ СТРАНИЦЫ		  
	$(document).ready(function(){
	$('#login-trigger').click(function(){
	$(this).next('#login-content').slideToggle();
	$(this).toggleClass('active');					
	if ($(this).hasClass('active')) $(this).find('span').html('&#x25B2;')
	else $(this).find('span').html('&#x25BC;')
					                    })
		                        });
								
//Функция закрытия окна: ВСЕ СТРАНИЦЫ		  
   $(document).ready(function(){
   $('div .cancel').click(function(){
   $('#login-content').hide();     })
                               });								
		  
//Функция открытия окна: СВОЙСТВА СТРАНИЦЫ		  
    $(document).ready(function(){
    $('#login-trigger2').click(function(){
	$(this).next('#login-content2').slideToggle();
    $(this).toggleClass('active');					
    if ($(this).hasClass('active')) $(this).find('span').html('&#x25B2;')
    else $(this).find('span').html('&#x25BC;') 
	                                     })
							    });
		  
//Функция закрытия окна: СВОЙСТВА СТРАНИЦЫ		  
   $(document).ready(function(){
   $('div .cancel').click(function(){
   $('#login-content2').hide();     })
                               });
		  
		  
//Подсветка параметров ( ССЫЛКА, ИЗМЕНИТЬ, УДАЛИТЬ ) в таблице: ВСЕ СТРАНИЦЫ
   $(document).ready(function(){
   $('.all-page-selected-row').mousemove(function(){
   $(this).css("background","#f2f2f2");
   $(this).find('.invis').css("color","#9b9b9b");
   $(this).find('.page-editing').css("color","#9b9b9b");
   $(this).find('.page-editing').css("border-bottom","1px solid #9b9b9b");
   });
   

                               });  


      $(document).ready(function(){
   $('.all-page-selected-row').mouseout(function(){
   $(this).css("background","#fff");
   $(this).find('.invis ').css("color","#fff");
   $(this).find('.page-editing').css("color","#fff"); 
   $(this).find('.page-editing').css("border-bottom","1px solid #fff");   
                                        })
                               });  							   
							   


							   
      $(document).ready(function(){
	
	var title_page='';
	var url_page='';
	

	$('.all-page-selected-row').mousemove(function SelectRow(){
	
	title_page = $(this).find('.title_page').text();
    url_page = $(this).find('.url_page').text();
	return title_page; 
                                                    });	
																								

    $('.page-editing').live("click", function(){
	 title = title_page;
	 url = url_page; 
        line1='<td width="30%"><input type="text" value="'+title_page+'"></td>';
		line2='<td width="30%"><input type="text" value="'+url_page+'"></td>';
		line3='<td width ="10%"></td><td width="30%"><a class="link-save-page">Сохранить</a></td>';
        line4='<td><a class="link-cancel-page">Отменить</a></td>';
		
		data = line1 + line2 + line3 + line4;
    $(this).closest('tr').html(data);	
	

//Вот тут начинается проблема. Если "$('.link-cancel-page')" не внутри
//функции $('.page-editing').click(function PageEditing(), то при нажатии
//ничего не происходит. Если внутри, то только 1 раз.
//Как избежать проблемы?

	
	$('.link-cancel-page').one("click", function(){

	    back1 = '<td width="30%"><a class="title_page">'+title+'</a></td>';
	    back2 = '<td width="30%"><div class="url_page"><a class="invis" href="'+url+'">'+url+'</a></div></td>';
        back3 = '<td width="30%"></td><td><a class="page-editing">Изменить</a></td><td>&nbsp;&nbsp;</td><td><a class="invis" href="del">Удалить</a></td>';
 	    
		back = back1 + back2 + back3;
	$(this).closest('tr').html(back);
                                           });	
											
											
	
	                                              });
										   										 								      							       
	                                 });  
									 
							   
	</script>
Ответить с цитированием
  #10 (permalink)  
Старый 31.05.2012, 12:03
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Имхо для Вашей структуры Правильнее было б навешивать обработчики onclick="Функция" непосредственно в элементе контента

Тогда б и скрипт короче и было б только описание функций и процессы изменения контента

А так - куча навешанных событий хитросплетенных с ченчем

Последний раз редактировалось Deff, 31.05.2012 в 12:07.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменить скрипт Изучаю_JS Общие вопросы Javascript 0 12.02.2012 22:05
jquery .dialog Проблема:Всплывающее окно -отображается только 1 раз! denisOgr AJAX и COMET 1 26.07.2010 20:51
скрипт работает только в IE, а в остальных браузерах нет. melodicman Firefox/Mozilla 0 23.06.2010 15:18
live click выполняется несколько раз hara jQuery 9 09.06.2010 10:58
Скрипт меню не работает только в Firefox somatic Firefox/Mozilla 2 28.07.2009 03:23