@skyfly2010

Как передать id?

Как передать ID? Прошу помочь в ликвидации безграмотности.
Есть следующий код (благополучно взятый из интернета):
$(function() {
	$('#service11').hover(
    function(){
        document.getElementById("service11a").style.display="none";
		document.getElementById("service11b").style.display="block";
		$('#service11b').animate({height:350});
	},
    function(){    		
           $('#service11b').animate({height:100});
           document.getElementById("service11a").style.display="block";
           document.getElementById("service11b").style.display="none";
	});
});

Данный код позволяет плавно изменить высоту блока b и скрыть/показать блок а. Цифра 11 подсказывает, что таких блоков некоторое количество. Отсюда вопрос, как в эту конструкцию забросить ID конкретного блока, чтобы эффект применялся только к нему. Я пробовал через onmouseover="script(id)", но там получается какая-то непонятная каша, при которой блок попадает в цикл. Т.е. он бесконечно открывается и закрывается.
Заранее большое спасибо.
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
@skyfly2010 Автор вопроса
В общем, извиняюсь перед всеми. Сори, за отнятое время. Я тупанул. Решается все просто очень:
onmouseover="show(11);"


function show(id){
$("#service"+id+"a").css("display", "none");
$("#service"+id+"b").css("display", "block");
$("#service"+id+"b").animate({ "height": 350 }, 500 );
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
erge
@erge
Примус починяю
Цифра 11 может подсказывать что таких блоков может быть несколько, но более ничего и в данном коде она ни о чем не говорит.
service11a и service11b всего лишь IDшники.

Отсюда вопрос, как в эту конструкцию забросить ID конкретного блока, чтобы эффект применялся только к нему.

просто вписать его и все и действия будут применяться к этому блоку.

$(function() {
  $('#BLOCK_ID').hover(
    function(){
      document.getElementById("BLOCK_ID").style.display="block";
      $('#BLOCK_ID').animate({height:350});
    },
    function(){    		
      $('#BLOCK_ID').animate({height:100});
      document.getElementById("BLOCK_ID").style.display="none";
    });
});


но если вы пишете на JQuery, почему бы все не писать на JQuery или наоборот все на нативном JS?
см. API JQuery
$(function() {
  $('#BLOCK_ID').hover(
    function(){
      $("#BLOCK_ID").css("display", "block");
      $('#BLOCK_ID').animate({height:350});
    },
    function(){    		
      $('#BLOCK_ID').animate({height:100});
      $("#BLOCK_ID").css("display", "none");
    });
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы