Показать сообщение отдельно
  #2 (permalink)  
Старый 28.12.2008, 20:19
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Ну так вызывайте после того, как DIV'ы будут созданы, в чем проблема так сделать?

И почитайте документацию по jQuery, вы плохо пользуетесь возможностями, которые он предоставляет, ваш код можно переписать примерно следующим образом:
// Вызов noConflict() должен быть сразу же после jQuery
jQuery.noConflict();

var soundEnable = 1;

(function($) {
			 
	$(function() { // $(document).ready(…) писать не обязательно
		$(document.body).append('<div id="soundContainer"></div>');
		$('<div>').attr('id', 'soundOn').css({display: 'none', width: '128px', height: '128px', left: '50%', top: '50%', marginLeft: '-64px', marginTop: '-64px', zIndex: '999999', background: 'url(in.gif) no-repeat', position: $.browser.msie ? 'absolute' : 'fixed'}).appendTo(document.body);
	});

	function playSound(path) {
		var sound = path+'.swf';
		if(soundEnable) {
			$('#soundContainer').html($.browser.msie ? '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0"><param name="movie" value="'+sound+'"><param name="quality" value="high"></object>' : '<embed src="'+sound+'" width="1" height="1" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash"></embed>');
			$('#soundOn').stop().css('opacity', 1).fadeIn(250).fadeOut(1500);
			soundEnable = 0;
			timeout = setTimeout(function() {
				soundEnable = 1;
			}, 2000);
		}
	}

})(jQuery);
Ответить с цитированием