Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.06.2015, 11:39
Аспирант
Отправить личное сообщение для Nifler Посмотреть профиль Найти все сообщения от Nifler
 
Регистрация: 29.09.2013
Сообщений: 37

Упростить код
день добрый.
написал код, все работает хорошо, но уверен что так тупо писать не стоит и этот код можно упростить.
подскажите как это сделать. пробовал в цикл впихивать - не работает
function myCallback(returnedData) {
			if(returnedData.style!=="none"){
				$(returnedData.id).removeClass();
				$(returnedData.id).addClass(returnedData.style);
			}
		}
		
		$("#f1").click(function(){
			var data = "turn=1";
			$.get("index.php", data, myCallback,"json");
		});
		
		$("#f2").click(function(){
			var data = "turn=2";
			$.get("index.php", data, myCallback,"json");
		});
		
		$("#f3").click(function(){
			var data = "turn=3";
			$.get("index.php", data, myCallback,"json");
		});
		
		$("#f4").click(function(){
			var data = "turn=4";
			$.get("index.php", data, myCallback,"json");
		});
		
		$("#f5").click(function(){
			var data = "turn=5";
			$.get("index.php", data, myCallback,"json");
		});
		
		$("#f6").click(function(){
			var data = "turn=6";
			$.get("index.php", data, myCallback,"json");
		});
		
		$("#f7").click(function(){
			var data = "turn=7";
			$.get("index.php", data, myCallback,"json");
		});
		
		$("#f8").click(function(){
			var data = "turn=8";
			$.get("index.php", data, myCallback,"json");
		});
		
		$("#f9").click(function(){			
			var data = "turn=9";
			$.get("index.php", data, myCallback,"json");
		});
Ответить с цитированием
  #2 (permalink)  
Старый 11.06.2015, 11:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Либо источник передает данные, например, посредством data-val(1), data-val(1), и и.д., либо именовать ID так: f-1, f-2, .... и тогда один обработчик:
$("[id|=f]").click(function(){
            $.get("index.php", this.id.split('-)[1], myCallback,"json");
        });
Ответить с цитированием
  #3 (permalink)  
Старый 11.06.2015, 22:44
Профессор
Отправить личное сообщение для caetus Посмотреть профиль Найти все сообщения от caetus
 
Регистрация: 23.09.2014
Сообщений: 197

<style>
p {
width: 100px;
height: 20px;
background: black;
}
</style>
<div id="div">
<p data-turn="turn=1"></p>
<p data-turn="turn=2"></p>
<p data-turn="turn=3"></p>
<p data-turn="turn=4"></p>
<p data-turn="turn=5"></p>
</div>

<script>
document.getElementById('div').addEventListener('click', fn, false);

function fn (e) {
var data =  e.target.getAttribute('data-turn');
if(data) alert(data); 
// вместо alert поставишь  $.get("index.php", data, myCallback,"json");

}
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 12.06.2015, 01:31
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от caetus
document.getElementById('div').addEventListener('c lick', fn, false);
......
А смысл такого борща? Ну уж тогда выбрасывать и $.get("index.php", data, myCallback,"json"), и использовать девственный XMLHttpRequest. Иначе

$.get("index.php", $(this).data("turn"), myCallback,"json");
Ответить с цитированием
  #5 (permalink)  
Старый 12.06.2015, 17:29
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

<div id="div">
   <p id="f1"></p>
   <p id="f2"></p>
   <p id="f3"></p>
   <p id="f4"></p>
   <p id="f5"></p>
</div>


$('#div').on('click', 'p', function() {
   var f = /f(\d+)/.exec(this.id)[1];
   $.get('index.php', 'turn=' + f, myCallback, 'json');
});
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает код Kendrick Internet Explorer 5 12.09.2012 16:14
Требуется выводить код рекламного блока Adsense из файла JavaScript??? speedflow Элементы интерфейса 0 26.05.2012 15:50
Запуск кода с фрейма, код в родительском окне - КАК ? lamer Javascript под браузер 7 06.05.2012 15:15
Как создать bodyclick код royksopp Общие вопросы Javascript 8 14.10.2011 16:39
код странно отрабатывает комбинацию клавиш ffx Общие вопросы Javascript 4 20.01.2011 10:58