1
function scrollContent(){
var div = $('#scrolling-content'),
ul = $('ul.image'),
// unordered list's left margin
ulPadding = 0;
//Get menu width
var divWidth = div.width();
//Remove scrollbars
div.css({overflow: 'hidden'});
//Find last image container
var lastLi = ul.find('li:last-child');
//When user move mouse over menu
div.mousemove(function(e){
//As images are loaded ul width increases,
//so we recalculate it each time
var ulWidth = lastLi[0].offsetLeft + lastLi.outerWidth() + ulPadding;
var left = (e.pageX - div.offset().left) * (ulWidth-divWidth)/divWidth;
div.scrollLeft(left);
});
}
これは私の画像リストをスクロールする方法です。問題は、#scrolling-content
要素のサイズが動的であることです。ウィンドウのサイズ変更時に変更されます。ここに;javascriptで変数を再計算する方法
$(window).resize(function() {
$("#scrolling-content").css("width",$(window).width() + "px");
$("#scrolling-content").css("height",($(window).height()-400) + "px");
});
したがって、ユーザーがウィンドウサイズを変更したときに左の値を再計算する必要があります。スクリプトを変更するにはどうすればよいですか? window.resize
機能を持つscrollContent()
機能を呼び出すことは、私が推測するようにnoobの解決策です。そして、それはIEのための競合を作成します。
いいえ、完了しました。ulWidthの宣言後にコードが動作しています。 –