0

jQuery を からjquery-1.6.1.min.jsに更新したところjquery-1.8.2.js、次のコードが機能しなくなりました。

<script type='text/javascript'>
$(window).load(function(){
    $('.freezebg').click(function() {
        var ftop = $('.sort-wrap').offset().top - $(window).scrollTop();
        var fleft = $('.sort-wrap').offset().left;
        $('.sort-wrap').css({position: 'fixed', left: fleft + 'px', top: ftop + 'px'});
});
$(".unfreezebg").click(function() {
    $('.sort-wrap').css({position: 'absolute',left:'auto',top: 'auto'});
        return false;
    });
});
</script>

<script type='text/javascript'>
$(document).ready(function() {
    $("#cboxOverlay").addClass("unfreezebg");
});
</script>

誰かが理由を知っていますか?

4

2 に答える 2

0

1.8で非推奨になっている.on('load', handler)ので試してください。.load()

<script type='text/javascript'>
   $(window).on('load',function(){
    $('.freezebg').click(function() {    
      var ftop = $('.sort-wrap').offset().top - $(window).scrollTop();
      var fleft = $('.sort-wrap').offset().left;
      $('.sort-wrap').css({position: 'fixed', left: fleft + 'px', top: ftop + 'px'});
    });
    $(".unfreezebg").click(function() {
      $('.sort-wrap').css({position: 'absolute',left:'auto',top: 'auto'});   
      return false;   
    });
   });
</script>
于 2013-01-18T16:24:37.227 に答える
0

.on「新しい方法」です:

<script type='text/javascript'>
   $(window).on('load',function(){
    $('.freezebg').on('click', function() {    
      var ftop = $('.sort-wrap').offset().top - $(window).scrollTop();
      var fleft = $('.sort-wrap').offset().left;
      $('.sort-wrap').css({position: 'fixed', left: fleft + 'px', top: ftop + 'px'});
    });
    $(".unfreezebg").on('click', function() {
      $('.sort-wrap').css({position: 'absolute',left:'auto',top: 'auto'});   
      return false;   
    });
   });
</script>

.onは現在標準であり、両方として機能するため、使用を開始する必要があります.click(....live('click'...

于 2013-01-18T16:35:25.377 に答える