0

元の問題に対する解決策があると思うので、質問を更新しました。を、別の関数の$marginsmy を計算するために使用できるグローバル変数に変換したいと考えています。$offset(矢印) キーの押下、マウスのクリック、および場合によってはマウス ホイールの操作の後に、変数を更新する必要があります。これに対する簡単な解決策はありますか?

これが私のコードです:

$(document).keydown(function(e){  //keyboard bind   
    if( e.keyCode == 39 ){//right (->)
        if($('.selectstyle').hasClass("selectstyle")){
            $margins = -180;
        } else ($(".select" ).hasClass("select")){
            $margins = 0;
        }
    }
});
$offset = (-220 + $margins),            

私が作成したコードは、おそらく私のソリューションには正しくありません。私が取り組んでいるサイトはhttp://lastnighti.co.uk/です。serialscroll プラグインを使用して、ユーザーが主に矢印キーでサイトをナビゲートできるようにします。私が抱えている問題は、ユーザーが下矢印を押して画像を強調表示し、右矢印キーを押して次の画像に進むと、余白の幅を考慮したシリアルスクロールが原因でオーバーシュートすることです。

これは1週間以上私を悲しませてきました。キューイングとsetTimout関数を試しましたが、UI の流動性が損なわれます。基本的に、上記の私の問題は、$offset変数を変更して、いつ画像が.selectstyleクラスで強調表示されるかを説明することです。上記の問題を動的に制御するための解決策をいただければ幸い$offsetです。

4

1 に答える 1

0

グローバル変数の作成は次のように行われていwindowます:

window.varName = "foo";

だからあなたはこれが欲しい:

$(document).keydown(function(e){  //keyboard bind   
    if( e.keyCode == 39 ){//right (->)
        if($('.selectstyle').hasClass("selectstyle")){
            window.$margins = -180;
        } else ($(".select" ).hasClass("select")){
            window.$margins = 0;
        }
    }
});
$offset = (-220 + $margins),  

あなたが望むことを行うためのより良い方法がおそらくあることに注意してください。

多分これは大丈夫です:

var $margins;

$(document).keydown(function(e){  //keyboard bind   
    if( e.keyCode == 39 ){//right (->)
        if($('.selectstyle').hasClass("selectstyle")){
            $margins = -180;
        } else ($(".select" ).hasClass("select")){
            var $margins = 0;
        }
    }
});

$offset = (-220 + $margins),  
于 2012-04-22T01:44:10.327 に答える