3

非常に単純な問題ですが、私は JavaScript を初めて使用します。 と の両方でJS を使用してmargin-topプロパティを追加しようとしていますが、うまくいきません。divdocument.readywindow.resize

function cent() {
    var blockheight = $("#block").height();
    var margintop = (blockheight / -2);
    $block.css("margin-top", margintop);                   
};

$(document).noConflict();
$(document).ready(cent);
$(window).resize(cent);
4

6 に答える 6

1

編集:

こんにちは、私はあなたの最新の jsFiddle を取得し、現在機能しているいくつかの変更を行いました。元の高さの半分に変換します。見て、それが必要かどうかを確認してください。

コードが保存されませんでした。これが私のjsFiddleの更新です:

受け取った高さの結果があなたの部門で解析できる整数であることparseInt()を保証するために追加し、とを呼び出す匿名関数で内部部分をラップしました。.height()$(document)$(window)cent();

function cent() {
    var $block = $("#block"),
        margintop = parseInt($block.height() / -2);
    console.log('called');
    $('#block').css("margin-top", margintop);
};

// $(document).noConflict();
$(document).ready(function(){
    cent();
});
$(window).resize(function(){
    cent();
});

変更

$block.css("margin-top", margintop);

$('#block').css("margin-top", margintop);
于 2013-06-12T13:19:53.400 に答える
0

私は Dylan N のコードを使用し、すべてが jsfiddle で機能していましたが、ページ全体に戻ると、何らかの競合があります。以下のコードに絞り込みました。紛争が何であるかを知っている人はいますか?

var $j = jQuery.noConflict();
jQuery(function ($j) {

var image_slides = [];

image_slides.push({
    image: 'img/background.jpg'
})


$j.supersized({



    // Individual links for each slide (Options: false, 'num', 'name', 'blank')

    min_width: 0,
    min_height: 0,
    vertical_center: 1,
    horizontal_center: 1,
    fit_always: 0,
    fit_portrait: 1,
    fit_landscape: 0,
    slides: image_slides,
});
});
于 2013-06-12T13:48:08.017 に答える
0

どのユニットに行くかを設定する必要があります。.height() は数値を返しますが、css プロパティの margin-top はどの単位かを知る必要があります。

var margintop = (blockheight / -2) + 'px';
于 2013-06-12T13:31:49.493 に答える
0

構文が少しずれているようです。に変更$block$('#block')ます。

このjsFiddleは、物事を整理するのに役立ちます。

于 2013-06-12T13:20:11.590 に答える