0

カーソルで移動したときに div (呼び出された) を表示する必要があります。オーバー div には絶対位置があります。私はjqueryを使用してそれを行いました。うまく機能しますが、唯一の問題は、div を超えると親 div の幅が得られないことです。私は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();
});

cssは次のとおりです。

#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 で正しい親の幅が取得されます。どうして!?

ありがとう、マティア

4

1 に答える 1

0

幅を見つけようとすると、HTML の親要素が読み込まれていないようなにおいがします。アラートを出すと、親要素が読み込まれます。親要素が読み込まれていることを確認したら、親要素の幅を見つけてみてください。

于 2012-05-17T10:22:54.537 に答える