この固定要素はページの右側にあります。CSSコードは次のとおりです。
#rightSide {
height: 100%;
min-height: 613px;
width: 450px;
box-shadow: 0px 0px 3px rgba(0,0,0,0.7);
background-color: #fafafa;
position: fixed;
right: 0px;
display: block;
float: right;
padding: 0;
z-index: 200;
}
HTML:
<body>
<div id="rightSide"></div>
</body>
このページでやりたいことは、ウィンドウのサイズ変更がある場合、要素は垂直方向にのみ固定され、ページとともに水平方向にスクロールするということです。これが私が使用するJavascriptです(サイズ変更とスクロールはjQueryイベントです):
$(window).resize(function() {
var bod = $('body').innerWidth();
var wid = $(this).innerWidth();
var wind = bod - wid;
$('#rightSide').css("right", '-'+ wind +'px');
$(this).scroll(function () {
var scrleft = $('body').scrollLeft();
var scrl = scrleft - wind;
$('#rightSide').css("right", scrl +'px');
});
});
奇妙なことに、このコードはChromeでは問題なく機能しますが、Firefoxでは機能しません。なぜこれが起こっているのか分かりますか?
ありがとう!
編集これが役立つ場合は、本文のCSSです。
body {
width : 100%;
min-width: 1070px;
height : 100%;
margin : 0px auto 0px auto;
padding : 0px 0px 0px 0px;
display: block;
overflow-y: auto;
overflow-x: auto;
min-height: 613px;
}