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'});
    });
});

我现在想要实现的是让整个事情倒退:当第二个链接被点击时,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 回答