Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

※ほぼ備忘メモで説明をかなり省いているので、ある程度制作知識のある方向けのエントリーです。 ※JavascriptはjQueryを使う場合が多いので読み込んでいる前提です。 目次 振り分け系 ユーザーエージェントを判別する ページを横幅320pxに合わせて拡大(zoom)する 画面の回転(Landscape-Portrait)イベントを取得する 現在Landscapeモードか、Portraitモードかを調べる スクロール制御系 タップするとページの一番上にスクロールで戻る タップすると指定したidの位置までスクロールで戻る タップすると指定した位置までスクロール無しで戻る iPhoneのSafari(iOS7含む)でスクロールを禁止する タッチ制御系 タッチ開始を検知する タッチ中を検知する タッチの終わりを検知する フォーム制御系 フォームのラベルのタップを有効にする フォームのペース
もちろんモバイル情報です。 iOS4やらAndroid2.x時代にはまったく使い物にならなかったこの指定、 最近はどうなの?っていう。 overflow: scroll 対象をiOS5以上、Android4以上とするのであれば十分に使えるものだと思います。 ただスクロールすれば良いだけであれば、jsなしに実現できる時代きた!すばらC! -webkit-overflow-scrolling: touch 勘の良い人ならお気づきでしょうが、コレも使いたいですよね。 スクロールできる部分で慣性スクロールができるようになるやつです。 .carousel { overflow: scroll; -webkit-overflow-scrolling: touch; } みたいな。 ただこいつは、まだ要注意です・・。 手元で再現したバグなので、すべてのケースに当てはまるわけではないと思いますが、 一応こ
iOSでもoverflowを設定すると慣性スクロールが効かなくなるので有用かもしれませんが、 よほどでなければUAを判定してAndroidだけ適応するほうがいいと思います。 仕組み touchStartで取得したポイントをと現在の指の位置の差分をscrollTopに設定しているだけです。 模式的に書くと次のようなかんじです。 タッチ開始 $target.on("touchStart", function(event) { event = event.originalEvent; var touch = event.touches[0]; touchStartX = touch.pageX; touchStartY = touch.pageY; });
今回と次回の2回に分けてはAndroid Studioを使ったアプリ開発環境を作ります。Android Studio本体のインストールから、AVD(エミュレータ)を使ってのHelloAndroidアプリ作成まで解説します。 本連載の書籍化について(2018年5月追記) 本連載は、加筆・再構成およびAndroid Studio 3対応を行い、書籍化しています。最新情報については、こちらもぜひ併せてご参照ください。 『基礎&応用力をしっかり育成! Androidアプリ開発の教科書』 対象読者 Androidアプリ開発未経験な方 Java言語は一通り習得済みである方 必要な環境 今回インストールするAndroid Studioが動作するするには、Java Development Kit(JDK) 7がインストールされている必要があります。また、環境変数JAVA_HOMEが設定されている必要があり
なんでもネイティブアプリのUIデザインが1080x1920pxだからと。 えーまじで、と。iPhone6+なら1242x2208pxでないの?と。 Webでそんな数字聞いた事ないんだけど今ってどうなの?と思ってググってみたんだけども iPhone/iPad解像度(画面サイズ)早見表 デザインアセットをiPhone6に対応するワークフロー iPhone6の時代のviewport設定について やっぱりWebだと1080なんてのはないなあと思い知らされた。 とはいえ時間もないし強引にやってみることにした。 デザインをみたら画像しかなかったので、1080x1920pxの等倍で画像切り出したりマークアップしたりして普通にサイト作った後に、CSSとJSで拡大縮小のおまじないかけて強制的に画面にフィットさせるという古典的手法を取った。 iPhoneを含めて大体の最新端末にはviewportを操作すれば何
After almost 2 years in public beta, I am pleased to announce that the library is now officially launched as version 1.0.0. I'll be updating the version history over time with digests of fixes, features and improvements: Version 2.0.3 (2020-04-23) Fix for bug #165 Version 2.0.2 (2020-04-21) Fix for binding events to document and window. Update NPM repo so that latest releases are detected. Version
作成:2015/10/5 更新:2017/04/16 Web制作 > 開発環境 スマートフォンサイト構築時のコーディングで気を付けたいポイントを次回コーディングの時のためにメモしておきます。 エンジニア速報は Twitter の@commteで配信しています。 全般 viewport デバイスを横向きにした時の処理一例です。 一般(ページ拡大表示)ピンチアウト/ピンチインOK。通常はこれを使うことが多い。 <meta name="viewport" content="width=device-width"> サイズを変更せず、ピンチアウト/ピンチインOK <meta name="viewport" content="width=device-width,initial-scale=1.0"> 2倍に拡大した状態でページ表示 <meta name="viewport" content="wi
スマホやタブレットで写真を表示していると、ピンチでズームしたり、ドラッグで移動したりができて便利なので、あれを Web 上で実現してみたくなった。 最近のブラウザーでは touchstart や touchmove イベントでタッチ情報を取れたり、イベントの touches でマルチタッチを扱えたりするので、実現するための基盤はそろっている。 適当なライブラリーがあるかと思って探してみたが、意外と苦労してしまった。 Hammer.js が使えない タッチを扱うためのライブラリーとしては Hammer.js がメジャーらしい。スワイプ・ピンチ・ドラッグなど、各種イベントにも対応していて、これを使えば一発解決してくれそうだ。 ところが、画像ビューワーを作るには不向きだった。困ったのは次の 2 点。 ピンチやドラッグは個別には動くが、組み合わせたときに「表示位置」と「倍率」の関係を自前で計算する
Timer APIs(Date.getTime, Date.now, performance.now, setTimeout, setInterval, requestAnimationFrame, setImmediate) with Canvas AnimationanimationcanvasrequestAnimationFrameDate.nowperformance.now このエントリでは、「ブラウザ上で Canvas アニメーションを効率的に動かすコードを書こうとした場合に、どういった API を利用すれば良いか?」をテーマに、Timer API について説明します。 このエントリに登場する Time API は、Date.getTime, Date.now, performance.now, setTimeout, setInterval, requestAnimatio
マークアップは非常にシンプル、スクリプトの設置も簡単、スマホでもタブレットでもデスクトップでもすいすい快適に操作できる水平スクロールコンテンツを実装できるjQueryのプラグインを紹介します。 デモのアニメーション horizonScroll.jsの使い方 Step 1: 外部ファイル 当スクリプトとjquery.jsを外部ファイルとして記述します。 <head> ... <script type="text/javascript" src="jquery-1.10.2.js"></script> <script type="text/javascript" src="jquery.horizonScroll.js"></script> </head> スマホなどタッチデバイス対応にする場合は、touchSwipe.jsも加えます。 <head> ... <script type="tex
もうなんかこの際マジで言わせていただくんですけど、知ってるか知らないか分かりませんが世の中にはすごい頻度で呼ばれうるDOMイベントって言うのがいくつかあるわけですよ 例えば scroll mousemove, touchmove devicemotion 辺りですよ。 で、高頻度で呼ばれるって言うことは必然的に処理量が増えるって分かりますよね?????while(1) {}じゃないとはいえUIスレッドに十分影響を与えうる頻度で呼ばれる訳です。分かりますよね???????? そうなると当然そのイベント内で重い処理を行えば人間が認識できるレベルでのレスポンス遅延が起きるっていうのはご理解できますよね? 重い処理っていうのはまぁ想像出来るとは思うんですが例えばよくあるのが DOMのレイアウトプロパティへのアクセス offsetTop、offsetLeft、offsetWidth、offsetHe
In this article, Patrick Rudolph provides many hints, code snippets and lessons learned on how to build great hybrid mobile apps. He’ll briefly introduce hybrid mobile app development, including its benefits and drawbacks. Then, Patrick will share lessons he has learned from over two years of developing Hojoki and CatchApp, both of which run natively on major mobile platforms and were built with H
どうもfujiharaです。ここ最近の台風ラッシュには困りました。 通勤電車が見合わせてまったく動かない経験を久々にしました。 本日は<input type="file">の装飾を行っていきます。 方法は実在する<input type="file"> を見えないようにして、 装飾可能な a要素がクリックされたタイミングで見えない input要素を クリックしてあげます。 失敗例 $('input:file').css({ //元々のファイルフォームを隠す。 'opacity':0, 'display':'none' }); $('a').on('click', function(e) { //装飾用のリンクをクリックしたタイミング $('input:file').click(); //ファイルフォームをクリック e.preventDefault(); }); 実はこのままだと
前段 ブログリハビリ..._:(´ཀ`」 ∠): URLスキームで任意のアプリ(今回はLINE)を起動したい フォールバックとして、アプリのURLに誘導するなりアラートするなりしたい Android Galaxy S3 (4.0.3) と Xperia SX (4.1.2) のAndroidブラウザで確認する限りは、下記のようなコードで実現できた。 var iframe = document.createElement('iframe'); iframe.className = 'is-hidden'; iframe.onload= function() { alert('LINEアプリ、インストールしてなくない?'); iframe.parentNode.removeChild(iframe); }; iframe.src = 'line://msg/text/loremipsum...
Are you looking for the smoothest scroll for your web pages? Look no more. iScroll is the best smooth scrolling, high-performance, multi-platform javascript scroller that will add a sleek and modern look to your web pages. Get everything you need to know and understand about the fastest and smoothest scrolling library, iScroll. iScroll is a multi-platform JS library that lets you add scrollbars to
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く