それで、
コンテナdiv内に隣接する2つのDIVのJSfiddleをまとめました。2つの子divは、カーソルがそれらの上にあるときに、コンテナを埋めるために水平方向に拡張することになっています。これは左端のDIVで正常に機能しますが、右の子DIV(つまり、コンテナを満たすために両方向に拡張する必要があるDIV)で同じアニメーションを試してみると、スムーズに実行されません。子DIVのコンテナの左端への移動とその展開を同時にアニメーション化しようとしましたが、使用しているスクリプトではプロパティが機能しません。何か考えはありますか?
ここでJSfiddleを参照してください。(このフィドルは廃止されました。更新されたバージョンについては、以下を参照してください)
編集:
このJScriptを使用して、DIVの左への動きをアニメーション化することで進歩を遂げました。
$(document).ready(function() {
$("#profdevcontainer").hover(function() {
$(this).stop().animate({
width: '1005px',
marginLeft: '-170px',
// 'z-index': '99'
}, 'fast');
}, function() {
$(this).stop().animate({
width: '250px',
marginLeft: '0px'
}, 'fast');
});
});
しかし、DIVのアニメーションがほぼ完成すると、更新されたJSfiddleでわかるように、アニメーションは消えます。これは私の親コンテナのオーバーフロープロパティと関係があると確信していますが、考えられる唯一の理由は次のとおりです。
- ホバーに適用しているCSSプロパティと、JavaScriptでアニメーション化しているプロパティの間に競合があります。
- アニメーション化されたディメンションは、どういうわけかオーバーフローをトリガーしています。
問題のdivのCSSは次のとおりです。
#profdevcontainer {
width: 250px;
height: 60px;
background-color: yellow;
float: left;
margin-right: 3px;
}
#profdevcontainer:hover {
/* animated wit css / width: 1005px; */
/* animated wit css / height: 60px;
/* animated wit css / background-color: yellow;
/* animated wit css / float: left; */
/* position: absolute; */
z-index: 99;
margin-right: 3px;
}