Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.06.2013, 07:45
Интересующийся
Отправить личное сообщение для gearique Посмотреть профиль Найти все сообщения от gearique
 
Регистрация: 11.06.2013
Сообщений: 12

Оптимизорование забора!
Всем привет!

У меня всёё просто:

<script>
$('#cl1').click(function(){slideTranfer=1;slideRoller()});
$('#cl2').click(function(){slideTranfer=2;slideRoller()});
$('#cl3').click(function(){slideTranfer=3;slideRoller()});
$('#cl4').click(function(){slideTranfer=4;slideRoller()});
$('#cl5').click(function(){slideTranfer=5;slideRoller()});
$('#cl6').click(function(){slideTranfer=6;slideRoller()});
$('#cl7').click(function(){slideTranfer=7;slideRoller()});
$('#cl8').click(function(){slideTranfer=8;slideRoller()});
$('#cl9').click(function(){slideTranfer=9;slideRoller()});
$('#cl10').click(function(){slideTranfer=10;slideRoller()});
$('#cl11').click(function(){slideTranfer=11;slideRoller()});
</script>


Как можно от него избавиться?
Ответить с цитированием
  #2 (permalink)  
Старый 21.06.2013, 08:27
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от gearique
Как можно от него избавиться?
Дать всем таким элементам уникальный класс и работать с одним классом...
А так, как вариант...

$('*[id^="cl"]').each(function(i){
	click(function(){
		slideTranfer=i+1;slideRoller()
	})
});
Ответить с цитированием
  #3 (permalink)  
Старый 21.06.2013, 11:35
Интересующийся
Отправить личное сообщение для gearique Посмотреть профиль Найти все сообщения от gearique
 
Регистрация: 11.06.2013
Сообщений: 12

Чёто я туплю...это вы сейчас чё сделали?=)
Ответить с цитированием
  #4 (permalink)  
Старый 21.06.2013, 12:04
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

Сообщение от gearique Посмотреть сообщение
Чёто я туплю...это вы сейчас чё сделали?=)
использовали стандартную функциональность jquery
советую почитать api.jquery.com
Ответить с цитированием
  #5 (permalink)  
Старый 21.06.2013, 13:54
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от gearique
это вы сейчас чё сделали?
Собственно выполнил "Оптимизорование забора"...
Ответить с цитированием
  #6 (permalink)  
Старый 23.06.2013, 07:25
Интересующийся
Отправить личное сообщение для gearique Посмотреть профиль Найти все сообщения от gearique
 
Регистрация: 11.06.2013
Сообщений: 12

Ого...оболдеть. Он ещё и так умеет) Спасибо!
Ответить с цитированием
  #7 (permalink)  
Старый 23.06.2013, 07:33
Интересующийся
Отправить личное сообщение для gearique Посмотреть профиль Найти все сообщения от gearique
 
Регистрация: 11.06.2013
Сообщений: 12

Только одна поправка:

$('*[id^="cl"]').each(function(i){
    $(this).click(function(){
        slideTranfer=i+1;slideRoller()
    })
});
Ответить с цитированием
  #8 (permalink)  
Старый 23.06.2013, 12:29
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

обычно используют делегирование событий
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<div class="div">
	<button id="id1">1</button>
	<button id="id2">2</button>
</div>
<script>
jQuery(function ($) {
	$(".div").on("click", function (e) {
		if (e.target.tagName == "BUTTON") {
			alert(e.target.id.replace(/^.*[^\d]/, ""));
		}
	});
});
</script>
Ответить с цитированием
  #9 (permalink)  
Старый 24.06.2013, 01:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

bes,
jQuery(function ($) {
	$(".div").on("click","BUTTON", function (e) {
			alert(e.target.id.replace(/^.*[^\d]/, ""));
	});
});
Ответить с цитированием
  #10 (permalink)  
Старый 24.06.2013, 20:48
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

ну чё, круто я скажу
Ответить с цитированием
Ответ



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

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