2012-05-17 13 views
0

Мне нужно показать div (вызываемый), когда я перехожу через него с помощью курсора. Над div имеет абсолютную позицию. Я сделал это с помощью jquery. Он работает хорошо, но единственная проблема заключается в том, что над div не получает родительскую ширину div. я сделать это с помощью JQuery, это код:получить div width jquery

var count = 0; 
$('.resultbox').each(function(){ 
    $('#main').append('<div class="content" id="t'+count+'"></div>'); 
    $('#t' + count).append('<div class="over"></div>'); 

    $('#t'+count).append('<span>some text here</span>'); 

    $('.asd', this).each(
      $('#t' + count).append('<span>and other text here</span>'); 
     }); 
    }); 
    //alert(''); 
    $('#t' + count + ' > .over').css('width', $('#t' + count).css('width')); 
    $('#t' + count + ' > .over').css('height', $('#t' + count).css('height')); 
    count++; 
}); 

$('.content').mouseenter(function(){ 
    $('.over', this).show(); 
}); 

$('.content').mouseleave(function(){ 
    $('.over', this).hide(); 
}); 

и КСС:

#main{ 
width: 100%; 
position: absolute; 
top: 0px; 
height: 100%; 
background-color: #FFF; 
z-index: 999; 
text-align: left; 
} 

.content{ 
width: auto; 
display: inline-block; 
margin: 20px; 
padding: 5px; 
border: 1px solid #000; 
clear: both; 
} 

.content span{ 
display: inline-block; 
} 

.over{ 
position: absolute; 
background: url(share.png) #FFF no-repeat center center; 
opacity: 0.6; 
z-index: 999; 
display: none; 
} 

.over:hover{ 
cursor: pointer; 
} 

Как вы можете видеть, что я поставил также предупреждение. Если я прокомментирую это, div не получит его родительскую ширину, а если я не прокомментирую его, то div получит правильную ширину родителя. Зачем!?

Спасибо, Маттиа

+0

Может ли вы вставить u r html, css и код jquery в http://jsfiddle.net/ – Thulasiram

+0

Я генерирую html-код с помощью jquery. – pindol

ответ

0

Я чую, как ваш родительский элемент в HTML не получает загружается при попытке найти width.When вы даете появляется уведомление родительский элемент loads.Try найти ширину родительского элемента, когда вы убедитесь, что он загружается.

+0

Да, я так думаю. Как я могу сделать, чтобы получить ширину родителя при его загрузке? Я пытаюсь сделать это с помощью функции загрузки: $ ('# t' + count) .load (function() {get width;}); но это не работает. Я получаю неправильную ширину. . – pindol

+0

К сожалению, я хотя предлагаю вам использовать нагрузки() Может быть попробовать готовую функцию как этот $ (документ) .ready (функция() { // ВАШ КОД }); – Ravi

+0

Нет, это не работает :( – pindol