2011-11-22 21 views
10

Superfishドロップダウンフィックスの初期遅延を取り除くことができません。私のクライアントは、遅れてonmouseoutを望んでいますが、遅れてonmouseoverではありません。スーパーフィッシュのドロップダウンメニューonmouseoverの遅延を削除し、Hoverintent delay onmouseoutを維持します

私は純粋なCSSのドロップダウンメニュー(Twentytenのドロップダウンメニューと同じです)を持っていて、これにSuckerfish.jsを適用しています。

は、ここに私のコードです:

$('ul#menu-airco-mb-navigatiestructuur').superfish({ 
    delay: 600, 
    autoArrows: false, 
    speed: 'fast' 
}); 

私はthe manual of Superfishを通読してきたが、私は初期遅延をトリガものを見つけるように見えることはできません。たぶんそれはアニメーションanimation: {opacity:'show'}と関係があります(これは私の周りに頭を上げることはできません)。

お寄せいただきありがとうございます。

答えて

13

HoverIntentプラグインが含まれているようです。スーパーフィッシュのオプションの1つが「disableHI」です。これを "true"に設定すると、SuperfishはHoverIntentを使用してmouseenterイベントを遅延させません。あるいは、HoverIntentプラグインをサイト上の他の場所で使用する予定がない場合は、そのプラグインを含めることはできません。お役に立てれば。

$('ul#menu-airco-mb-navigatiestructuur').superfish({ 
    delay: 600, 
    autoArrows: false, 
    speed: 'fast', 
    disableHI: true 
}); 

私は2つのテストケースを作成しました。 first oneはCSSを使用したページの簡略化されたバージョンであり、the secondはまったく同じですが、私はすべてのCSSを削除し、Superfishウェブサイトにある基本的なsuperfish.cssのみを含んでいます。 superfish.cssが動作するように、メニュークラスを 'menu'から 'sf-menu'に変更しました。

私のCSSを使ったバージョンはあなたが望むように動作しますが、あなたのCSSが付いているものはあなたのバグです。私は、自分のものと自分のものを比較し、それに近いものにあなたのものを変更することで、あなたが並べ替えることができるCSSの問題があると思います。私が見る1つの違いは、サブメニューのULを固定幅に設定し、その子のLIを100%に設定することです。これは犯人ではありませんが、あなたのCSSを、Superfishのメニューを試して試したやり方ともっと密接に合わせることで恩恵を受ける可能性があることを示しています。お役に立てれば。

+0

こんにちはJoel、あなたの答えをありがとう、私はhoverIntentをonmouseout onmouseoutを削除する前に(onmouseover)サブメニューの表示を削除したいと思います。私はホバリングの創始者に話したことがあります。彼は、ホバリングのオンマウスオーバーを取り除くために、スーパーフィッシュの核心を試して編集するように助言します。これについてのあなたの意見は何ですか?前もって感謝します。 – maartenmachiels

+0

Superfishは、mouseoverイベントを処理するためにHoverIntent(含まれている場合)を残したまま、「遅延」オプションを使用してマウスアウト遅延を処理します。disableHIはHoverIntent onmouseoverを削除しますが、 "delay"を600に設定したままにしておくと、マウスアウトの遅延が残ります。 –

+0

もう一度ありがとうございます。私はあなたの指示に従ったが、明らかに成功しなかった。どうすれば問題があるのか​​見て、[link] http://mediasoft.chocolata.beの私の実装を見てみてください。 – maartenmachiels

0

マウスオーバーで表示されているのは、実際のアニメーションが実行されているのではなく、遅延です。

アニメーションを削除できるとします。

高さのみをアニメーション化すると、不透明度ではなく視覚的な反応が即座に得られます。

視覚的にはわかりませんが、機能が賢明かもしれません。

 $('ul#menu-airco-mb-navigatiestructuur').superfish({ 
      delay  : 0, 
      animation : { height:'show' }, 
      speed  : 'fast' 
     }); 
+0

こんにちはacreek、ありがとうございます。今はすでに少しはっきりしていますが、やや遅れているようです。 'delay:0'を設定するとonmouseOUTの遅延が削除されますが、onmouseOVERの遅延だけを削除したいことに注意してください。ここで私が何を話しているか見ることができます:http://mediasoft.chocolata.be/ 手を差し上げてください。 – maartenmachiels

関連する問題