したがって、固定されたツールバーの下に座る必要がある要素があります。そして、ツールバーの下に置くために必要な上部パディングの量は、ビューポートの幅に基づいて変化します。だから私は2560pxから320pxまでの任意の時点で必要とされるパディングトップの割合を決定する式を開発しました。これは私たちのソフトウェアが満たす最大のビューポート幅と最小のビューポート幅ですが、実際にはCSSスタイル。JQuery Idセレクタで.css()メソッドに入力される入力のタイプを指定する
これは私が今作業しているものです。
getTopPadding =(): void => {
var x: number = $(window).width(),
paddingPercent: number = ((0.007589 * (2560 - x)));
if (paddingPercent < 5) {
paddingPercent += 5;
}
$('#appendHere').css('padding-top', paddingPercent);
};
このように、現在の幅とパディングトップが必要なものを取り出すこの式があります。したがって、たとえば、320PXの幅に、パディングをする必要があり、
padding-top: 17%;
paddingPercentだけで罰金数17を計算しますが、私はの.css()メソッドの値としてだけpaddingPercentに渡した場合、それが来ますアウトこの
padding-top: 17px;
のようなので、私は外で見つけようとしているものを、私が渡している値は、ピクセル、EM、VW、または%であるべきであるかどうかを指定する方法はありますか?私はあなたがの.css()メソッドの中に文字列を渡すことができますので、おそらく数を取り、最後に文字列を追加すると、私は必要な%記号を追加し、値を文字列化だろうと考え
$('#appendHere').css('padding-top', (paddingPercent + '%'));
を試してみました。しかし、もっと考えてみると、文字列を受け入れる理由は、私がやっていることではなく、色の指定などのためのものであると分かりました。タイプキャストと実行について考えました
しかし、それはNaNで戻ってくるので、ここからどこに行くのかはわかりません。誰かが洞察力を提供できると願っています。
私は最後の部分を理解していますが、問題を過度に思っているように聞こえるかもしれません。文字列として 'paddingPercent'に%記号を追加するだけでうまくいくはずです。あなたはそれを試してみた、それは動作しませんでしたか? –
実際には:[.css() '](http://api.jquery.com/css/)のドキュメントを参照してください。 "数値が値として渡されると、jQueryはそれを文字列に変換し、その文字列の最後にpxを追加します。プロパティにpx以外の単位が必要な場合は、値を文字列に変換し、メソッドを呼び出す前に適切な単位を追加してください。 –
私はこの行を使っていました。 $( '#appendHere')。css( 'padding-top'、(paddingPercent + '%')); しかし、Idを持っていた要素にスタイルを追加していませんでした。パッディングトップは文字列を値として受け入れなかったので、私はそれがわかっていました。 – Chris