2012-12-21 90 views

回答

1

這比看起來更復雜......事實上,你只需需要fixedposition更改爲absolute,但因爲它是由overlay插件完成的,所以你不能只在css中設置它,你需要立即執行。

我想出瞭解決的辦法是聲明一個自定義的效果:

$.tools.overlay.addEffect("change", function(css, done) { 
css.position = 'absolute'; 
overlay = this.getOverlay(); 
    overlay.css(css).show(); 
    overlay.animate({ 
     top: '+=55', opacity: 1, width: '+=20' 
     }, 400, done 
    ); 
    done.call(); 
}, function(done) { 
    this.getOverlay().animate({ 
     top:'-=55', opacity:0, width:'-=20' 
    }, 300, function() { 
     $(this).hide(); 
     done.call(); 
    }); 

});

誰只是改變CSS position財產(和做一些動畫,你可以明顯改變),並執行默認的東西。然後初始化疊加層時添加:

$(document).ready(function() { 
    $("img[rel]").overlay({effect: 'absolute'}); 
}); 

我用這個教程:http://jquerytools.org/demos/overlay/custom-effect.html,只是消除了他們的自定義拖放效果,並添加定位變化。

0

我用開發人員工具將位置更改爲「絕對」,並按預期工作。驗證配置適用的絕對位置,否則使用jQuery來修改CSS:

$('.simple_overlay').css('position', 'absolute'); 
+0

我試過,以及不幸的是沒有工作,我檢查了jQuery UI的工具網站這個問題的幫助,我已經插入他們的自定義配置,其確實的定位改變爲絕對,但由於某種原因不解決問題,就像它在開發人員工具中那樣。 –

+0

嘗試用jQuery改變它,而不是在配置 –

+0

這並沒有工作,要麼:( –