Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   условия для изображение (https://javascript.ru/forum/dom-window/63835-usloviya-dlya-izobrazhenie.html)

joker95 02.07.2016 19:11

условия для изображение
 
Доброго времени суток! Прощу простить за повторную тему просто я 2 дня жду и мне никто не пишет. Дело в том что добрые люди написали для меня такой код:

$('.ob_img img').each(function(indx, elem) {
  if ($(elem).width() > 100) {
  	$(this).parent().append('<div class="photo_numb">Rasy</div>');
  }
});


но он работает с ошибками т.е. работает правильно но иногда бывает что без проверки на условия оставляет 1,2,3 изображения (по разному), в чем дело? помогите пожалуйста

рони 02.07.2016 19:40

joker95,
чем этот вариант не устроил?
http://javascript.ru/forum/dom-windo...tml#post420843

joker95 02.07.2016 19:54

рони,
он не сработал почему-то((

рони 02.07.2016 20:02

joker95,
событие load не происходит на странице?

рони 02.07.2016 20:37

joker95,
попробуйте так
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .photo_numb:after{
    content: "big"
  }

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>

  <script>
 $(function(){
 $(".ob_img").each(function(indx, div){
 var img = $("img",div), width = img.width();
 width && width > 100 ? $(div).append('<div class="photo_numb">this is </div>') :
 img.on("load", function() {
    img.width() > 100 && $(div).append('<div class="photo_numb">this is </div>');
});
});
})
  </script>
</head>

<body>
<div class="ob_img">
  <img src="http://i.i.ua/photo/images/pic/6/4/1008546_75741f3e.jpg"  alt="">
</div>
<div class="ob_img">
  <img src="http://pda.maybe.ru/p/177/176879/t17638688.jpg"  alt="">
</div>
<div class="ob_img">
  <img src="http://i.i.ua/photo/images/pic/6/4/1008546_75741f3e.jpg"  alt="">
</div>
<div class="ob_img">
  <img src="http://pda.maybe.ru/p/177/176879/t17638688.jpg"  alt="">
</div>
</body>
</html>

warren buffet 08.07.2016 15:06

Новый объект гарантирует от кеша даже в тупейшем хроме.

(function(){

	var append_div=function(img){
	// куда-то аппенд
	},
	onload=function(){
	   if(this.width>100) append_div(this);
	},
	images=document.querySelectorAll('.class');
	for(var image,i=0;image=images[i];i++){
		var img = new Image();
		img.onload=onload;
		img.src=image.src;
	}
	
})();


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