私はこのjQuery視差コードを動作させようとしていますが、私はすべてをスパゲッティにしたくありません。複数の要素IDに適用するにはどのようにループすることができますか?複数の要素を実行するための関数をループしようとしています - jQuery
(関数は各特定のdivに固有の複数回実行する必要があるため、クラスでは機能しません) - ループ処理についてはまだよくありません。
とにかく、これは一つのセクション(この例では、子のdiv、#about> #pAbout付きのdiv)のための機能コードです:
$(document).ready(function() {
if ($("#pAbout").length) {
parallax();
}
});
$(window).scroll(function(e) {
if ($("#pAbout").length) {
parallax();
}
});
function parallax(){
if($("#pAbout").length > 0) {
var plxBackground = $("#pAbout");
var plxWindow = $("#about");
var plxWindowTopToPageTop = $(plxWindow).offset().top;
var windowTopToPageTop = $(window).scrollTop();
var plxWindowTopToWindowTop = plxWindowTopToPageTop - windowTopToPageTop;
var plxBackgroundTopToPageTop = $(plxBackground).offset().top;
var windowInnerHeight = window.innerHeight;
var plxBackgroundTopToWindowTop = plxBackgroundTopToPageTop - windowTopToPageTop;
var plxBackgroundTopToWindowBottom = windowInnerHeight - plxBackgroundTopToWindowTop;
var plxSpeed = 0.35;
plxBackground.css('top', - (plxWindowTopToWindowTop * plxSpeed) + 'px');
}
}
私はこのような配列を作成するために期待していた。
var ids = ['#pAbout', '#pConcept', '#pBroadcast', '#pDigital', '#pDesign', '#pContact'];
しかし、私は残念ながら仕事をすることはできませんが、非常にイライラしています。どんな助けでも大歓迎です!
は私達にループであなたの試みをしてください示すこと。 –