Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Оптимизорование забора! (https://javascript.ru/forum/jquery/39219-optimizorovanie-zabora.html)

gearique 21.06.2013 07:45

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

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

<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>


Как можно от него избавиться?

ksa 21.06.2013 08:27

Цитата:

Сообщение от gearique
Как можно от него избавиться?

Дать всем таким элементам уникальный класс и работать с одним классом...
А так, как вариант...

$('*[id^="cl"]').each(function(i){
	click(function(){
		slideTranfer=i+1;slideRoller()
	})
});

gearique 21.06.2013 11:35

Чёто я туплю...это вы сейчас чё сделали?=)

mta88 21.06.2013 12:04

Цитата:

Сообщение от gearique (Сообщение 257585)
Чёто я туплю...это вы сейчас чё сделали?=)

использовали стандартную функциональность jquery:)
советую почитать api.jquery.com

ksa 21.06.2013 13:54

Цитата:

Сообщение от gearique
это вы сейчас чё сделали?

Собственно выполнил "Оптимизорование забора"...

gearique 23.06.2013 07:25

Ого...оболдеть. Он ещё и так умеет) Спасибо!

gearique 23.06.2013 07:33

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

$('*[id^="cl"]').each(function(i){
    $(this).click(function(){
        slideTranfer=i+1;slideRoller()
    })
});

bes 23.06.2013 12:29

обычно используют делегирование событий
<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>

рони 24.06.2013 01:33

bes,
jQuery(function ($) {
	$(".div").on("click","BUTTON", function (e) {
			alert(e.target.id.replace(/^.*[^\d]/, ""));
	});
});

bes 24.06.2013 20:48

ну чё, круто я скажу :)


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