0

jquery uiツールオーバーレイプラグインを使用しています。ほぼ100%動作していますが、クリックして画像を開き、画像スティックを下にスクロールすると、これは、スクリプトが位置を固定に設定しているためであることがすぐにわかりました。ただし、ドキュメントhttp://jquerytools.org/demos/overlay/custom-effect.htmlで提供されている構成を使用して位置を変更しても、同じ結果が得られます。サイトはmarccasavant.comです

4

2 に答える 2

1

これは見た目よりも複雑です...実際、 をからに変更するだけで済みますが、これはオーバーレイ プラグインによって行われるため、これを css で設定するだけではなく、オンで行う必要があります。 -飛ぶ。positionfixedabsolute

私が思いついた解決策は、カスタム効果を宣言することです:

$.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();
   });

});

csspositionプロパティを変更するだけで (そして、明らかに変更できるいくつかのアニメーションを実行して)、デフォルトの操作を実行します。次に、オーバーレイを初期化するときに追加します:

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

このチュートリアルを使用しました: http://jquerytools.org/demos/overlay/custom-effect.htmlで、カスタム ドロップ効果を削除し、位置の変更を追加しました。

于 2012-12-21T16:10:17.333 に答える
0

開発者ツールを使用して位置を「絶対」に変更しましたが、期待どおりに機能します。構成が絶対位置を適用することを確認します。それ以外の場合は、jQueryを使用してcssを変更します。

$('.simple_overlay').css('position', 'absolute');
于 2012-12-21T14:30:56.007 に答える