我刚刚将我的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>
有没有人知道为什么?
答案 0 :(得分:0)
尝试.on('load', handler)
,因为.load()
在1.8中已弃用。
<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>
答案 1 :(得分: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'...