Показать сообщение отдельно
  #10 (permalink)  
Старый 07.01.2011, 20:48
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Matre
вероятность этого 0.1% ненадо надеятся на худшее! будьте оптимистичнее
в программирование не должно быть "авось прокатит"
есть задачи, где даже вероятность коллизий Md5 является слишком большой
а вы тут говорите о такой гигантской величине как 0.1%!!!
Может быть вы не в курсе, но за этими числами стоят потерянные деньги,и для некоторых сайтов тот факт, что каждый тысячный покупатель не сможет провести покупку из-за вашего говнокода - весьма немаловажный фактор достойный увольнения нескольких не уследивших разработчиков


Сообщение от Matre
не понимаю..я ведь в начале беру заданные z-index а потом меняю обратно все ведь зависит
вот именно, что не понимаете.
вам бы сначала подрасти в профессиональном уровне, а затем горы ворочать
запустите этот код следующим образом:
1)нажмите ссылку "change z-index"
нижний логотип станет поверх второго
после перезагрузите страницу
2)нажмите сперва ссылку "findelements", а затем только "change z-index"
как видим после вашей функции, остальной код не работает так как ожидалось


<html>
<head>
<script type="text/javascript">
function findelements(selector){
all=document.getElementsByTagName('*');
for(var i=0;i<all.length;i++)
{
if(window.getComputedStyle)
all[i].defaultzindex=window.getComputedStyle(all[i],null).zIndex;
else
all[i].defaultzindex=all[i].currentStyle.zIndex;
}
elem=[];
style=document.createElement('div');
rand=Math.floor(Math.random() * 1000);
style.innerHTML='<style>'+selector+'{z-index: ' + rand + '}</style>';
document.body.appendChild(style);
for(var i=0;i<all.length;i++)
{
if(window.getComputedStyle)
z=window.getComputedStyle(all[i],null).zIndex;
else
z=all[i].currentStyle.zIndex;
if (z==rand)
{
elem.push(all[i]);
}
all[i].style.zIndex=all[i].defaultzindex;
}
return elem;
}

</script>
<style>
.img1{
	position:absolute;
	left:10px;
	top:10px;
	z-index:5;
}
.img1_new{
	position:absolute;
	left:10px;
	top:10px;
	z-index:7;
}
.img2{
	position:absolute;
	left:20px;
	top:20px;
	z-index:6;
}
</style>
</head>
<body>
<img id="img1" class="img1" height="44" width="100" border="0" alt="Яндекс" src="data:image/png;base64,iVBOR....ggg==">
<img class="img2" height="44" width="100" border="0" alt="Яндекс" src="data:image/png;base64,iVB...rkJggg==">
<br /><br /><br /><br /><br /><br /><br />
<a href="#" onclick="findelements('a');return false;">findelements</a>
<a href="#" onclick="document.getElementById('img1').className='img1_new';return false;">change z-index</a>

</body>
</html>


PS getComputedStyle который вы берете в начале, и свойство style.zIndex, выставляемое в конце - это абсолютно разные вещи.
и последний до прихода вашей функции у большинства элементов равен пустой строке

Последний раз редактировалось Илья Кантор, 09.01.2011 в 13:43.
Ответить с цитированием