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

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

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

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

jQuery

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

Q&A

2回答

3236閲覧

横フリックナビゲーションをプラグイン無しで設置したい

castail

総合スコア117

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2015/10/23 11:59

編集2015/10/23 12:00

以下の「maxPoint」のようなスマートフォン専用サイトの横フリックナビゲーションをプラグイン無しで設置したいです。
http://hokaccha.github.io/js-flipsnap/demo.html

具体的な構成は以下の通りです。

lang

1<div class="hoge"> 2<ul> 3<li class="固有class名"><a href="#固有id名"><img src="固有URL"><p>固有名詞</p></a></li> 4<li class="固有class名"><a href="#固有id名"><img src="固有URL"><p>固有名詞</p></a></li> 5<li class="固有class名"><a href="#固有id名"><img src="固有URL"><p>固有名詞</p></a></li> 6<li class="固有class名"><a href="#固有id名"><img src="固有URL"><p>固有名詞</p></a></li> 7<li class="固有class名"><a href="#固有id名"><img src="固有URL"><p>固有名詞</p></a></li> 8<li class="固有class名"><a href="#固有id名"><img src="固有URL"><p>固有名詞</p></a></li> 9<li class="固有class名"><a href="#固有id名"><img src="固有URL"><p>固有名詞</p></a></li> 10<li class="固有class名"><a href="#固有id名"><img src="固有URL"><p>固有名詞</p></a></li> 11<li class="固有class名"><a href="#固有id名"><img src="固有URL"><p>固有名詞</p></a></li> 12<li class="固有class名"><a href="#固有id名"><img src="固有URL"><p>固有名詞</p></a></li> 13<li class="固有class名"><a href="#固有id名"><img src="固有URL"><p>固有名詞</p></a></li> 14</ul> 15</div>

■ご注意点
(1)サンプルの様に要素がきりよく収まるのではなく下記のように見切れることで続きがあることを表現したいです。
https://gyazo.com/5e26595619a5222ce52958ab6dd4b22a
(2)「固有」部分は全て異なるユニークな文字(数)列です。
(3) 特殊環境化であるため以下のメソッドが使用できません。
・eval
・alert
・confirm
・prompt
・top
・self
・parent
・XMLHTTPRequest
・document
・window

以上を踏まえた上でご教授の程よろしくお願い致します。

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

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

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

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

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

guest

回答2

0

「プラグイン無しの理由」「特殊環境化の理由」が不明なので明確な回答は致しかねますが、特殊な仕様についてはいくつか回避手段があります。

JavaScript

1var window = Function('return this');

HTML

1<div onclick="var doc = event.target.ownerDocument;">

特殊環境について
何か理由があってそういう特殊環境になっているわけですから、このような小手先の手段が目的に合致するのかまではわかりません。
その仕様にした理由によっては特殊環境を制限緩和する方が良いかもしれません。

投稿2015/10/28 07:13

think49

総合スコア18162

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

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

castail

2015/10/29 06:56

ご回答ありがとうございます。 この件に関しては、こちらの知識不足でそもそも仕様自体うまく理解できておりません。 その点を再度依頼者に確認・調べたいと思います。
guest

0

**「特殊な環境」**についての情報が少なく誤解を招くため、下記の回答になってしまうことを了承願います。

document及びwindowメソッド…function が使用できない「特殊な環境」とのことですが
クライアント側でnew Window()new Document() などのJavaScriptのコンストラクタは使用できない。
window.document.getElementById("ID名") などのwindowdocumentオブジェクトは使用可能
という認識であっていますか?

一般的にJavaScriptでdocumentwindowと記載する場合オブジェクトであると解釈されます。
documentwindowは予約後であり、メソッド名には成り得ません。
DocumentWindowとした場合はコンストラクタであると解釈されます。
Javaのクラスのインスタンス作成new Document(~~~~~);という使用のされ方を期待しています。

ご存知とは思いますが、javascriptやjQueryでhtmlの要素を取得するために以下のように記述します。

JavaScript

1// わざわざ付ける必要が無いため、window を省略するのが普通。 2window.document.getElementByClass("class名"); 3window.$(".class名"); 4window.jQuery(".class名");

もし、windowdocumentが使用不可の場合
その特殊な環境でJavaScriptを使用し、要素を取得するにはwindowdocumentオブジェクトは代替となるオブジェクトになっており、prototypeを継承している必要があります。

投稿2015/10/23 22:00

編集2015/10/25 05:09
Ryo

総合スコア507

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

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

castail

2015/10/24 02:04

ご回答ありがとうございます。 ご説明が足りず申し訳ありません。 当方プログラムの知識に乏しくあまり状況を把握していないのですが、今回他者が製作した既存サイトへの設置でその環境の仕様の問題ということしかわかりません。 やはり、この条件では実現できないのでしょうか。。
Ryo

2015/10/25 05:29

どうしてもJavaScriptで実装しなければならない場合は、ですが。 CSSでリストを横に並べて、横にはみ出したら、スクロールバーを表示させ スクロール可能にする。という方法はありますが、 こちらはあまり見た目が宜しくないので何とも言い難いです。
castail

2015/10/28 06:24

レスが遅くなり申し訳ございません。 そちらのCSSのみでの実装は検討したのですがやはりスクロールバーを出したくないので今回のご質問に至りました。。。
think49

2015/10/28 07:20

To: Ryoさん > window.document.getElementByClass("class名"); × getElementByClass / ○ getElementsByClassName > クライアント側でnew Window() 、new Document() などのJavaScriptのコンストラクタは使用できない。 new Window は TypeError というのもありますが、仮に new 演算子が使えたとしても新しいインスタンスが生成されるだけで現在の window とは異なるのではないでしょうか。 HTMLDocument を生成するメソッドに createHTMLDocument, DOMParser がありますが、これも新しいドキュメントを生成するだけで既存ドキュメントは参照できません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問