質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

2344閲覧

drawer.jsのプラグインで、Androidの背景が固定されない。

apisakai

総合スコア6

jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2017/08/31 06:34

編集2017/08/31 06:36

###drawer.jsのプラグインで、Androidの背景が固定されない。
スライドメニューを出したときに背景を固定し、メニュー表示してある方をスクロール可能にしたいのですが、iOSだとうまくいくのにAndroidだと背景が固定されず、メニュー側のスワイプがうまくできません。

drawer.js(http://git.blivesta.com/drawer/)のプラグインを利用しています。
jQuery初心者で、下記コードも何を書いているのかわかないレベルです。
どうしたら良いか教えていただきたいです。

###発生している問題・エラーメッセージ

/*! * jquery-drawer v3.2.2 * Flexible drawer menu using jQuery, iScroll and CSS. * http://git.blivesta.com/drawer * License : MIT * Author : blivesta <design@blivesta.com> (http://blivesta.com/) */ (function umd(factory) { 'use strict'; if (typeof define === 'function' && define.amd) { define(['jquery'], factory); } else if (typeof exports === 'object') { module.exports = factory(require('jquery')); } else { factory(jQuery); } }(function Drawer($) { 'use strict'; var namespace = 'drawer'; var touches = typeof document.ontouchstart != 'undefined'; var __ = { init: function init(options) { options = $.extend({ iscroll: { mouseWheel: true, preventDefault: true, }, showOverlay: true }, options); __.settings = { state: false, events: { opened: 'drawer.opened', closed: 'drawer.closed' }, dropdownEvents: { opened: 'shown.bs.dropdown', closed: 'hidden.bs.dropdown' } }; __.settings.class = $.extend({ nav: 'drawer-nav', toggle: 'drawer-toggle', overlay: 'drawer-overlay', open: 'drawer-open', close: 'drawer-close', dropdown: 'drawer-dropdown' }, options.class); return this.each(function instantiateDrawer() { var _this = this; var $this = $(this); var data = $this.data(namespace); if (!data) { options = $.extend({}, options); $this.data(namespace, { options: options }); __.refresh.call(_this); if (options.showOverlay) { __.addOverlay.call(_this); } $('.' + __.settings.class.toggle).on('click.' + namespace, function toggle() { __.toggle.call(_this); return _this.iScroll.refresh(); }); $(window).on('resize.' + namespace, function close() { __//.close.call(_this); return _this.iScroll.refresh(); }); $('.' + __.settings.class.dropdown) .on(__.settings.dropdownEvents.opened + ' ' + __.settings.dropdownEvents.closed, function onOpenedOrClosed() { return _this.iScroll.refresh(); }); } }); // end each }, refresh: function refresh() { this.iScroll = new IScroll( '.' + __.settings.class.nav, $(this).data(namespace).options.iscroll ); }, addOverlay: function addOverlay() { var $this = $(this); var $overlay = $('<div>').addClass(__.settings.class.overlay + ' ' + __.settings.class.toggle); return $this.append($overlay); }, toggle: function toggle() { var _this = this; if (__.settings.state) { return __.close.call(_this); } else { return __.open.call(_this); } }, open: function open() { var $this = $(this); if (touches) { document.addEventListener('touchmove.' + namespace, function disableTouch(event) { event.preventDefault(); }, {passive: false}); } return $this .removeClass(__.settings.class.close) .addClass(__.settings.class.open) .drawerCallback(function triggerOpenedListeners() { __.settings.state = true; $this.trigger(__.settings.events.opened); }); }, close: function close() { var $this = $(this); if (touches) $this.off('touchmove.' + namespace); return $this .removeClass(__.settings.class.open) .addClass(__.settings.class.close) .drawerCallback(function triggerClosedListeners() { __.settings.state = false; $this.trigger(__.settings.events.closed); }); }, destroy: function destroy() { return this.each(function destroyEach() { var _this = this; var $this = $(this); $('.' + __.settings.class.toggle).off('click.' + namespace); $(window).off('resize.' + namespace); $('.' + __.settings.class.dropdown).off(__.settings.dropdownEvents.opened + ' ' + __.settings.dropdownEvents.closed); _this.iScroll.destroy(); $this .removeData(namespace) .find('.' + __.settings.class.overlay) .remove(); }); } }; $.fn.drawerCallback = function drawerCallback(callback) { var end = 'transitionend webkitTransitionEnd'; return this.each(function setAnimationEndHandler() { var $this = $(this); $this.on(end, function invokeCallbackOnAnimationEnd() { $this.off(end); return callback.call(this); }); }); }; $.fn.drawer = function drawer(method) { if (__[method]) { return __[method].apply(this, Array.prototype.slice.call(arguments, 1)); } else if (typeof method === 'object' || !method) { return __.init.apply(this, arguments); } else { $.error('Method ' + method + ' does not exist on jQuery.' + namespace); } }; }));

###試したこと
下記サイトを参考に、少し修正しました。
http://qiita.com/YujiHatanaka/items/64b6a6c8facb3a2f69b5

###補足情報(言語/FW/ツール等のバージョンなど)
Android Sony Xperia Z 4.3で不具合がおきます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

自分の勘違いでした。解決しました。

投稿2017/09/01 08:08

apisakai

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問