だから私は JQuery プラグインの作成を開始したいと思っており、すでにコーディングを開始しています。作成方法に関する JQuery com の記事全文を読みましたが、インターネットのどこを探しても見つからない問題が発生しました。プラグインは外部スクリプトから実行する必要があり、次のように HTML ドキュメント内のスクリプトから呼び出す必要があります。
<script type="text/javascript">
$(function() {
$("#JwebImageGallery").JwebImageGallery({
Delay: 1000
})
})
</script>
最初に、正常に機能するオプションから ElementID をセットアップしようとしました ('("#JwebImageGallery")' が役に立たなくなりました)。しかし、それは私が望むものではありません。'("#JwebImageGallery")' を、プラグインが操作する ElementID として使用するようにします。JQueryのWebサイトのチュートリアルでは、「this」を使用する必要があるとのことでしたが、これも私の最初の考えでしたが、機能しません。私が言ったように、外部の「.js」から実行しています。「これ」と警告すると、[ObjectHTMLDivElement] が返されます。Element は div であるため、「this」は機能しているように見えますが、機能しません。
これが私のスクリプトの一部です:
(function( $ ) {
$.fn.JwebImageGallery=function(o){
o=$.extend({
BoxID: 'JwebImageGallery',
Delay: 5500,
TransitionEffect: 'slide'},
o||{});
return this.each(function() {
var BoxID = this;
window.alert(BoxID);
// Script continues here
});
};
})( jQuery );
私も成功せずに使用しようとしました:
var BoxID = $(this);
「これ」が機能しないのはなぜですか?多くのウェブサイトで、自分が行った可能性のある障害についてチェックしましたが、それを理解することはできません.
では、それが機能しなかったことをどのように確認できますか? 私はここに私のコードを入れます:
$(BoxID).css('overflow', 'hidden');
このコードは、ElementID (BoxID) がオプションに設定されている場合は問題なく機能しましたが、「this」に変更すると機能しなくなりました... また、BoxID を「JwebDesignImageGallery」に設定すると、 ID、それは動作します。
私はJQueryが初めてなので、これが機能しない理由を知っている人がいれば、私と同じ問題を抱えている可能性のある他の人にも説明してもらえますか? さらに詳しい情報が必要な場合は、お知らせください。前もって感謝します!
注: JQuery と JQuery UI の両方を含めました
編集
取得したい ID は、次のコードの ID です。
$(function() {
$("#JwebImageGallery").JwebImageGallery({
Delay: 1000
})
})
つまり、「#JwebImageGallery」です。それが、「これ」が返ってくると思っていたものです。