Я наоборот все в дивы обернул.
Но теперь другая проблема. Мой обработчик должен брать div блок, у которого display: none, и вставлять его в другой div блок (у которого настроены стили, и который находится в нужном мне месте). Так вот после первого клика все получается нормально. При втором клике ничего не отображается. Как будто опять свойство display: none.
<div id="cn-menu-light-overlay">
<div id="cn-menu-light-block">
</div>
</div>
<div class="test-link">
<h4>закуска</h4>
<div class="cn-menu-object" style="display: none;">
<h4>чтобы это могло быть?</h4>
<img src="images/menu_object.jpg"></img>
<ul>
<li><span>Цена:</span>300 руб</li>
<li><span>Порция:</span>300 г</li>
<li><span>Калории:</span>300 кал</li>
<li><span>Состав:</span>Мука, вода, рис, курица, яйцо, сахар, специи. Все переммешать и выкинуть.</li>
</ul>
</div>
</div>
$(document).ready(function(){
$('div:.test-link').bind('click', showLightBlock);
$('div:#cn-menu-light-overlay').bind('click', hideLightBlock);
});
function showLightBlock(eventObj)
{
var block = $('div:#cn-menu-light-overlay div#cn-menu-light-block');
block.html($('div', this));
block.find('div').css('display', 'block');;
$('div:#cn-menu-light-overlay').css('display', 'block');
}
function hideLightBlock()
{
$('div:#cn-menu-light-overlay').css('display', 'none');;
}
#cn-menu-light-overlay img { border: none; }
#cn-menu-light-overlay { display: none;
position: absolute;
top : 0;
left : 0;
z-index : 90;
height : 1500px;
width : 100%;
background-image: url(../i/overlay.png);
}
* html #cn-menu-light-overlay{
background-color: #333;
back\ground-color: transparent;
background-image: url(blank.gif);
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../i/overlay", sizingMethod="scale");
}
#cn-menu-light-block {
position: absolute;
top : 100px;
left : 480px;
z-index : 100;
height : 400px;
width : 400px;
background-color: #FFF;
}
.test-link:hover { cursor: pointer;}