Показать сообщение отдельно
  #2 (permalink)  
Старый 13.04.2013, 03:01
Новичок на форуме
Отправить личное сообщение для Max25 Посмотреть профиль Найти все сообщения от Max25
 
Регистрация: 12.04.2013
Сообщений: 2

Немного разобрался, но до конца не могу понять, помогите пожалуйста.
Немного разобрался, но до конца не могу понять, подскажите пожалуйста.
Упростил код, всё работает, но:
1. одна и та же картинка два раза подряд не открывается.
2. курсор мыши при наводе на превью изображения на странице не меняется.

<html>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<head>
<script type="text/javascript" src="/js/jquery.js"></script>
</head>
<body>
<div id="imgroll"></div>

<script type="text/javascript">

$(document).ready(function(){

		
		$('#imgroll').append('<div><img class="tumb" src="\/img\/preview\/img_0_s.jpg" onclick="$.imagepreload(\'\/img\/preview\/img_0.jpg\')" border="0" \/><\/div>')
	
		$('#imgroll').append('<div><img class="tumb" src="\/img\/preview\/img_1_s.jpg" onclick="$.imagepreload(\'\/img\/preview\/img_1.jpg\')" border="0" \/><\/div>')
	
		$('#imgroll').append('<div><img class="tumb" src="\/img\/preview\/img_2_s.jpg" onclick="$.imagepreload(\'\/img\/preview\/img_2.jpg\')" border="0" \/><\/div>')
	
		
	$('.tumb').hover(function(){ $(this).stop().animate({ opacity : '1' }, 200) }, function(){ $(this).stop().animate({ opacity : '.7' }, 200) }).stop().animate({ opacity : '.7' }, 0)
	
	$('body').append('<div id="imgloader"><\/div>')

	$('#preview img').css('cursor','pointer')
	$('body').append('<div id="backgroundloader"><\/div>')
	$('#imgloader').css({ 
		'position':'absolute',
		'display':'none',
		'z-index': 1000,
		'cursor' : 'pointer',
	}).append('<img />')

	$.imagepreload = function(src){
		$('#imgloader').hide(function(){
			$('#imgloader img').load(function(){
				$('#backgroundloader').css({
					'width' : '100%',
					'height' : $('body').outerHeight(),
					'position' : 'absolute',
					'top' : '0',
					'left' : '0',
					'opacity' : '.8',
					'background' : '#000',
					'z-index' : '0',
				})
				
				$('#imgloader').css({
					"top" : Math.max(0, (($(window).height() - $('#imgloader').outerHeight())/2) +  $(window).scrollTop()) + "px",
					"left" : Math.max(0, (($(window).width() - $('#imgloader').outerWidth()) / 2) + $(window).scrollLeft()) + "px",
				})

				$(document).mousedown(function(){
					$('#imgloader').fadeOut('fast')			   
					$('#backgroundloader').hide()
				})

				$(document).keydown(function(e){
					if(e.which==27) {
						$('#imgloader').fadeOut('fast')
						$('#backgroundloader').hide()
					}
				})
				
				$('#backgroundloader').show()
				$('#imgloader').fadeIn('fast')
			}).attr('src', src)
		})
	}
})

</script> 

</body>
</html>
Ответить с цитированием