powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / вопрос о jQuery
8 сообщений из 8, страница 1 из 1
вопрос о jQuery
    #36252238
Фотография YuriyB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добрый день !

вот такая конструкция

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
$(document).ready(function() {
     $(".edit").click(function(){
	 $("#purpose").hide( 1000 );
	 $("#purpose_edit").show( 1000 );
	 $(this).text("save");
     $(this).removeClass("edit");
	 $(this).addClass("save");
     return false;	
    });
});

$(document).ready(function() {
     $(".save").click(function(){
	 $("#purpose").show( 1000 );
	 $("#purpose_edit").hide( 1000 );
	 $(this).text("edit");
	 $(this).removeClass("save");
	 $(this).addClass("edit");
     return false;	
    });
});

здесь ссылка с классом "edit" : <a class=edit ....
по клику на ней вызывает $(".edit").click(function(){ становиться class=save
но вот вызов $(".save").click(function(){ уже не работает !

что не правильно ? как исправить ?
...
Рейтинг: 0 / 0
вопрос о jQuery
    #36252291
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем 2 раза писать $(document).ready(function() {
...
Рейтинг: 0 / 0
вопрос о jQuery
    #36252300
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
$(document).ready(function() {
     $(".edit").click(function(){
	 if($(this).text() == 'edit') {
	 	 $("#purpose").hide( 1000 );
	 	 $("#purpose_edit").show( 1000 );
	 	 $(this).text("save");
	 	 $(this).removeClass("edit");
	 	 $(this).addClass("save");
	 } else {
	 	 $("#purpose").show( 1000 );
	 	 $("#purpose_edit").hide( 1000 );
	 	 $(this).text("edit");
	 	 $(this).removeClass("save");
	 	 $(this).addClass("edit");
	 }
	 return false;
    });
});
...
Рейтинг: 0 / 0
вопрос о jQuery
    #36253119
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пооптимизируем:
Код: plaintext
1.
2.
3.
4.
5.
$(document).ready(function() {
    $(".edit").toggle(
        function(){$("#purpose").hide( 1000 ); $("#purpose_edit").show( 1000 ); return false;},
        function(){$("#purpose").show( 1000 ); $("#purpose_edit").hide( 1000 ); return false;}
    );
});
...
Рейтинг: 0 / 0
вопрос о jQuery
    #36253233
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckПооптимизируем:А где замена текста и класса (который может влиять на внешний вид)??

Ещё вариант ( не проверял , но думаю, идея ясна)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
$(document).ready(function() {
     $(".edit").click(function(){
	 var ob = $(this);
	 var a = (ob[ 0 ].myObj = ob[ 0 ].myObj || {edit:['hide', 'show', 'save', 'edit'],
	 	 	 	 	 	save:['show', 'hide', 'edit', 'save']})[ob.text()];
	 $("#purpose")[a[ 0 ]]( 1000 );
	 $("#purpose_edit")[a[ 1 ]]( 1000 );
	 ob.text(a[ 2 ]);
	 ob.removeClass(a[ 3 ]);
	 ob.addClass(a[ 2 ]);
	 return false;
    });
});
...
Рейтинг: 0 / 0
вопрос о jQuery
    #36254102
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вставку текста пропустил по недосмотру, а класс ... в том применении, что он сейчас - не надо, разве что для изменения стилей. Если стили менять не надо, то можно и так. Лично я для таких случаев ввожу еще один класс, который идентефицирует группу, но не устанавливает стили.
Кстати, применение
Код: plaintext
1.
2.
ob.text(a[ 2 ]);
ob.removeClass(a[ 3 ]);
ob.addClass(a[ 2 ]);
(или с $(this)) - преступление. Надо юзать:
Код: plaintext
ob.text(a[ 2 ]).removeClass(a[ 3 ]).addClass(a[ 2 ]);
...
Рейтинг: 0 / 0
вопрос о jQuery
    #36254287
Фотография YuriyB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо за активное обсуждение и ценные советы
...
Рейтинг: 0 / 0
вопрос о jQuery
    #36254311
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага. Еще можно задействовать метод toggleClass - он может ставить/убирать класс для элемента(-ов) и выполнять какие-то действия.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / вопрос о jQuery
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]