レスポンシブルでなければ全然いける
サイドバーも%でしていしてるから
fixedすると 100%では画面全体の%になっっちやう。
ピクセル指定でははみ出ちゃおう
一応方法は
<script type="text/javascript" src="/js/side-fixed-comment.js"></script>
こいつを入れて
var mainArea = $("#main_contents"); //メインコンテンツ var sideWrap = $("#d_sidenavi"); //サイドバーの外枠 var sideArea = $("#d_sidenavi_in"); //サイドバー
これを指定するだけ。
if(wd.height() < sideArea.height()){ //サイドメニューが画面より大きい場合 if(starPoint < wd.scrollTop() && wd.scrollTop() + wd.height() < breakPoint){ //固定範囲内 sideArea.css({"position": "fixed", "bottom": "20px"}); }else if(wd.scrollTop() + wd.height() >= breakPoint){ //固定解除位置を超えた時 sideArea.css({"position": "absolute", "bottom": "0"}); } else { //その他、上に戻った時 sideArea.css("position", "static"); }
この辺をいじってほしい所まで言ったが
24.5%を足す
他は100%に戻す
cssでmaxwidth 280pxにする
fixedはwind100%でやってくるから
どうちゃっても
全く同じサイズにできん。
スクリプトを読み込ませない
ってやつやったけど
一度読み込んだjsをクリアする方法がみつからず断念
ウインドウサイズ小で
ロード時読み込ませないことはできたが
1200まで大きくして読み込んだが
また小さくしたときに
も読み込んでて
だめやった。
4・5時間はまって寝る前に考えた計算でできた。
天才花道
まず
普通に
ヘッダ
<script type="text/javascript" src="/js/side-fixed-comment.js"></script>
side-fixed-comment.js
var mainArea = $("#main_contents"); //メインコンテンツ var sideWrap = $("#d_sidenavi"); //サイドバーの外枠 var sideArea = $("#d_sidenavi_in"); //サイドバー
css 場所ブログアフター
@media screen and (min-width: 1200px) {#d_sidenavi_in{ max-width:280px;}} @media screen and (max-width: 1000px){#d_sidenavi_in{ max-width:231px; min-width:231px;}}
これで1200px以上1000PX以下の設定
あとは1000から1200までを取得する
ヘッダside-fixed-comment.jsより下(いみある?)
<script type="text/javascript"> $(window).on('load resize', function(){ var w = ($(window).width() -56) * 0.25 ; $('#d_sidenavi_in').width(w); }); </script>
<script type="text/javascript"> $(window).on('load resize', function(){ //読み込み時とリサイズ時を同時に処理する var w = ($(window).width() -56) * 0.245 ; //wにウインドウサイズを取得して 俺が作っているホームページのサイドバーより上のdivのマージンがピクセルで指定してあるからそれをマイナスして(-56) レスポンシブでサイドバーは24.5%で作成してあるから、それを掛けた(* 0.245) サイズいわゆる サイドバーのあるべきサイズを取得する $('#d_sidenavi_in').width(w); }); //fixedになって親がいなくなった(画面全体になった)サイドバーに値を入れる。 </script>
※ここで重要なのが予め 変動値以外のサイズ 1000以下にはmin-width 1200以上にはmax-widthをしていしておく
参考
http://qiita.com/drapon/items/328b1ed23490061e6fdb
この書き方だと要素にwidth=がついて イメージなどではしていできるだろうが
今回か書き方をかえた
これ参考http://qiita.com/blogger323/items/811f42f8283889071be7
ここから引き抜いた
$('#sidebar').css('width', ''); w = $('#sidebvar').width(); $('#sidebar').width(w);
演算子
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators
こんな書き方もできるだろう
http://bl6.jp/web/javascript/change-process-get-window-size/
処理
$('#sample').css({ color: 'red' });