私はintro.jsを使用して自分のウェブサイトのツアーを設定していますが、ツールチップのデフォルトの配置を設定したいと思います。垂直の中心の代わりにページ。デフォルトのintro.jsツールチップの配置を変更する
直接設定するオプションがないようですが、CSSを変更する方法はありますか? (またはソースを編集することによって、それは最後の手段のようですが)。
私はintro.jsを使用して自分のウェブサイトのツアーを設定していますが、ツールチップのデフォルトの配置を設定したいと思います。垂直の中心の代わりにページ。デフォルトのintro.jsツールチップの配置を変更する
直接設定するオプションがないようですが、CSSを変更する方法はありますか? (またはソースを編集することによって、それは最後の手段のようですが)。
私は同様のことをする必要がありました。エレガントではありませんが、機能します。
APIドキュメントには、onafterchangeメソッドがあります。コールバック関数を与えると、ステップが表示されるたびに起動します。
ツールチップにターゲット要素がある場合、コールバックの引数にはその要素が含まれます。ツールヒントに要素がない場合、引数にはクラスintrojsFloatingElementの要素が含まれます。だから、あなたはその要素のそのクラスの存在をチェックする必要があります。そうであれば、ツールチップ要素のスタイルを微調整できます。
var help = introJs();
help.onafterchange(function(targetEl){
targetEl = jQuery(targetEl);
// check if it's a floating tooltip (not attached to an element)
if(targetEl.hasClass('introjsFloatingElement')){
// adjust the position of these elements
jQuery('.introjs-tooltipReferenceLayer').offset({top : 120});
jQuery('.introjs-tooltip').css({
opacity: 1,
display: 'block',
left: '50%',
top: '50%',
'margin-left': '-186px',
'margin-top': '-91px'
});
jQuery('.introjs-helperNumberLayer').css({
opacity: 1,
left: '-204px',
top: '-109px'
});
}
});
// add your steps
// ...
help.start();
注:
私はintro.jsのドキュメントを調べました。このコード行をスクリプトに追加するだけで済みます。
introJs().setOption("tooltipPosition", "top");
残念ながら、このオプションは、添付されている要素に対するツールチップのデフォルトの位置を設定するようにしか見えません。何にも付けられていないツールチップの配置には何の影響もないようです。 – ropeladder
申し訳ありませんが動作しませんでした。おそらく同じコマンドを使用して 'tooltipClass'を設定し、CSSの位置を変更することができます。しかしこれは、個々のツールヒントごとに 'setOption'を使用できる場合にのみ有効です。 –
2番目のアイデアをお寄せいただきありがとうございますが、動作していません。 'steps'配列([ここを参照](https://github.com/usablica/intro.js/blob/master/example/programmatic/index.html)を参照)を使用して、' tooltipClass'を個別に設定することはできますが、 intro.jsのjavascriptは 'style'タグを使用してカスタムクラスの配置をオーバーライドするため、位置設定には使用できません。 – ropeladder
ありがとうございます。クラスをチェックしてから、 'onafterchange'を使ってクラスを設定するのは良い考えです。ソースCSSを編集することでややうまく動作していましたが、これはより良いことです。 – ropeladder