0

次のスクリプトを使用して、ブラウザーの高さを取得し、ヘッダーとフッターの高さを取得して、ブラウザーの高さから減算します。

var a = $(window).height();
alert (a);
var b = $('#header').css('height').replace(/[^-\d\.]/g, '');
alert (b);
var c = $('#header').css('height').replace(/[^-\d\.]/g, '');
alert (c);
var d = (a-(b+c));
alert (d);
$('#block').height(d);

だからそれは警告します、
1。)699
2.)100
3.)50
そして間違った部分:
4。)-9351

ここでどこが間違っていますか?

4

4 に答える 4

4

変数bとcには文字列が含まれ、Javascriptの文字列で+演算子を使用すると、それらは連結されます。

つまり、式「100」+「50」は「10050」と評価されます。

jQuery.height()メソッドで要素の高さを取得することをお勧めします

于 2012-10-01T10:51:59.173 に答える
2

parseIntを使用します:

var a = parseInt($(window).height());
alert (a);
var b = parseInt($('#header').css('height').replace(/[^-\d\.]/g, ''));
alert (b);
var c = parseInt($('#header').css('height').replace(/[^-\d\.]/g, ''));
alert (c);
var d = (a-(b+c));
alert (d);
$('#block').height(d);
于 2012-10-01T10:53:49.473 に答える
1

jquery height(returns integer)メソッドを使用できます。コードではbとcは文字列です。jsfiddle

 var a = $(window).height();
    alert (a);
    var b = $('#header').height();
    alert (b);
    var c = $('#header').height();
    alert (c);
    var d = (a-(b+c));
    alert (d);
    $('#block').height(d);
于 2012-10-01T10:52:47.700 に答える
0

これを試してください...固定番号を置き換えるだけです

var a = parseInt('600');
var b = parseInt('100');
var c = parseInt('50');
var d = (a-(b+c));
于 2012-10-01T11:01:24.830 に答える