0

リンクがクリックされた後に div を position:fixed に設定するこの小さな関数があります。

$(window).load(function(){
    $('#linktofreeze').click(function() {
        var ftop = $('#fixedbox').offset().top - $(window).scrollTop();
        var fleft = $('#fixedbox').offset().left;
        $('#fixedbox').css({position: 'fixed', left: fleft + 'px', top: ftop + 'px'});
    });
});

私が今達成しようとしているのは、全体を逆にすることです.2番目のリンクがクリックされたとき、divの位置はもう「固定」されるべきではありません.

これを行う最善の方法は何ですか?この機能「onClick」を再度削除/削除する方法はありますか?

より明確にするために、jsFiddle にファイルをアップロードしました: http://jsfiddle.net/hZX5h/72/

誰かが助けてくれたら最高です。ありがとう!

4

3 に答える 3

2

その位置をにリセットしますrelative

$("#linktounfreeze").click(function() {
  $('#fixedbox').css({position: 'relative'});  
  return false;
});

フィドル: http://jsfiddle.net/vVbGy/1/

于 2013-01-09T17:55:28.000 に答える
0

それはあなたが望むものですか?(これを js コードの最後に追加します):

$('#linktounfreeze').click(function () {
  $('#fixedbox').css({
    position: 'relative'
  });
return null;
});
于 2013-01-09T17:55:37.433 に答える
0

unbind メソッドを使用してこれを実現できます。

$('#linktofreeze').attr('onclick','').unbind('click');

jQuery 1.7+ のより良い方法

$('#linktofreeze').off('click');
于 2013-01-09T17:56:38.000 に答える