-1

スクロール位置に基づいてクリックをトリガーする jQuery スクリプトがあります。ユーザーがページの上部に戻ったときにこの要素をもう一度クリックできるようにして、連絡先フォームが非表示になるようにします。問題は、ループを作成することです。

    jQuery(window).scroll(function (event) {
        var y = $(this).scrollTop();
        if (y > 400) {
        $("#contactable-inner").click();
        $("#contactable-inner").unbind('click');}
    });

ここにアクセスして、私が取り組んでいることを確認できます: http://algk.me

アップデート:

    $(window).scroll(function(){
        var y = $("body").scrollTop();
        var hidden = $('.hidden');
        if (y >= 1000 && (hidden.hasClass('visible'))){
        hidden.animate({"left":"-1000px"}, "slow").removeClass('visible');
        } else {
        hidden.animate({"left":"0px"}, "slow").addClass('visible');
        }
  });

これをスクロールで動作させる方法はありますか?

4

2 に答える 2

0

クリック ハンドラーを 1 回だけ実行する場合は、oneを使用できます。これにより、ハンドラーが 1 回だけ処理されます。

$("#contactable-inner").one('click', function(e){
    // code goes here
});

$(window).scroll(function (event) {
    var y = $(this).scrollTop();
    if (y > 400) {
        $("#contactable-inner").click();
    }
});

デモ。

于 2013-07-24T00:31:43.343 に答える