0

クライアントから非常に奇妙なリクエストがあります。

基本的に、投稿の冒頭に「メタデータ」ボックスが右側に浮かんでいるブログ投稿があります。したがって、投稿の最初のコンテンツの幅は 300px で、ボックスの終了後は幅が 500px になります。SO コンテンツは、L 字型のように、そのボックスの周りをラップ/フローします。

クライアントは、画像が投稿に挿入される場合、ボックスの下にある場合は幅 100% (500px)、ボックスの横にある場合は幅 300px であることを望んでいます。自動的。彼らは自分で画像のサイズを変更したくありません。

バックエンド (PHP) でこれを行うことはできません。CSS /JS で行うことは可能ですか? ここで難しいのは、画像がコンテンツのどこにあるのかわからないということです。コンテンツの最初の要素である場合もあれば、中間、最後など、どこにある場合もあります...

4

1 に答える 1

0

コンテキストを十分に理解しているかどうかはわかりませんが、これで正しい方向に進む可能性があります....

var offsetOfBottomOfBox = 700; //you would figure this out a different way

$("#contentDiv img").each(function(idx,el){
    //get image position in document
    var y = $(this).offset().top;

    if(y < offsetOfBottomOfBox) {
        $(this).css("width","300px");
    }
});

注:私はこのコードをテストしていません...

于 2012-06-20T07:12:41.550 に答える