Показать сообщение отдельно
  #7 (permalink)  
Старый 18.06.2012, 01:04
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>

<style>
 #master_list > div {
 border:1px solid red;
 width:200px;
 padding:0 0 0 4px;
 margin:4px 0 0 0;

}
</style>
Клик по div
<br />
 <div id="master_list">

	<div id="somediv1">data</div>
	<div id="somediv2">data</div>
	<div id="somediv3">data</div>
	<div id="somediv4">data</div>
	<div id="somediv5">data</div>

 </div>

<br />

 <button onclick="div_Id_Test('somediv1')">Test Определенного div</button>


<script type="text/javascript">

var Length	 //Общая длина массива div
var Id		 //Id текущего div
var befLength;	 //длина массива до текущего div
var BeforId;	 //Id предыдущего div
var AfterId;	 //Id Следущего div

$("#master_list > div[id]").live('click', function() {

   Length = $("#master_list > div[id]").length
   Id = $(this).attr("id");

    $("#master_list > div[id]").each( function(j) {
	if($(this).attr("id")==Id){
	befLength=j;
	BefNum=j-1;  if(!j)BefNum=Length+1; //Бубен для первого в списке
	BeforId=$("#master_list > div[id]").eq(BefNum).attr("id")
	AfterId=$("#master_list > div[id]").eq(j+1).attr("id")
	return false;
	}
    });
	if(NoTestClick)ALERT_func ()
});

//Тестируем id дочернего div и его окружения
var NoTestClick = true;
function div_Id_Test (ID) {NoTestClick = false;

   $("#master_list > div[id='"+ID+"']").click();
   ALERT_func ();
   NoTestClick = true;
} 

//****************************************//
//Данную функцию и все её вызовы можно затем  убрать,
//оно ток для примера и вывода на экран
function ALERT_func () { 
var Out='\
Общая длина массива div = '+Length+'\n\
Длина массива до текущего div = '+befLength+'\n\
Id текущего div = '+Id+'\n\
Id предыдущего div = '+BeforId+' \n\
Id Следущего div = '+AfterId+'';
alert(Out);
}
</script>

Последний раз редактировалось Deff, 18.06.2012 в 01:48.
Ответить с цитированием