特にニュースサイトでよく見かけるのですが、テキストの全文が長いときに初めは数行のみ表示しておき「続きを読む」あるいは「全文表示」、「詳細表示」といったリンクボタンを押すとサッと全文が現れるというしくみを自サイトでも実現したいと考えています。
文章が部分表示されている最初のページが01a.htmlだとしてボタンを押すと全文が記載されている01b.htmlが表示されるというしくみではどうやらなく、ソースを見るとJavascriptを使っているのでしょうか、あらかじめ用意してあった<div>~</div>がボタンクリックで表示されるらしいのです。
当方のサイトにおいてこのしくみを実現したいページ数がけっこうあり、いちいちaページ、bページを用意するとファイル数が倍になるので「別ファイルを用意する」という方法は避けたい。
実現する方法を具体的にご教授ください。
※<div>タグにはこだわりません。
参考URL
http://headlines.yahoo.co.jp/hl?a=20071116-00000 …
No.1ベストアンサー
- 回答日時:
参考URL内にあったHTMLを読んでみると
http://i.yimg.jp/lib/news/yjnews_util_1_4.js
というスクリプトがリンクされていました.
そこで続きを読む部分のdivタグのidであるfoldLinkを上記スクリプト内で検索すると,
以下の部分が関係ありそうです.
function yjNfold_init() {
var artObj = yjNgetElement("artFold");
if (artObj) {
artObj.style.display = "none";
}
var linkObj = yjNgetElement("foldLink");
if (linkObj) {
var linkHtml = '<a href="#" onClick="yjNfold_change(' + "'op'" + ');return false">[続きを読む]</a>';
linkObj.innerHTML = linkHtml;
}
}
function yjNfold_change(state) {
var artObj = yjNgetElement("artFold");
if (artObj) {
if (state == 'op') {
artObj.style.display = "block";
} else if (state == 'cl') {
artObj.style.display = "none";
}
}
var linkObj = yjNgetElement("foldLink");
if (linkObj) {
var linkHtml = '';
if (state == 'op') {
linkHtml = '<a href="#" onClick="yjNfold_change(' + "'cl'" + ');return false">[記事を折りたたむ]</a>';
} else if (state == 'cl') {
linkHtml = '<a href="#" onClick="yjNfold_change(' + "'op'" + ');return false">[続きを読む]</a>';
}
linkObj.innerHTML = linkHtml;
}
}
どうやら[続きを読む],[記事を折りたたむ]のリンクを押した場合にcssのdisplayプロパティを
blockとnoneで変化させているようです.
http://www.seo-equation.com/html/css/display
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
JavaScript でのリアルタイム時...
-
翌月を取得するGASが分かりません
-
html javascript リンク先アド...
-
GASでundefinedエラーが出ます
-
HTMLの毎月の更新を自動的に行...
-
javaが全くわからないので教え...
-
C#で、ContextMenuStripに動的...
-
jqGridについて
-
リンク集をCSVファイルで管理し...
-
cgiでポーリングして取得したデ...
-
1日1回だけ引けるjavascriptお...
-
javascriptに関する質問です。(...
-
idを使わずにonclickで自身の要...
-
ActiveXobjectが作成できない
-
配列について、その要素を並べ...
-
同じIDで定義した要素の配列を...
-
jQueryの :not() .not() が有効...
-
JavaScript/jQuery で元画像フ...
-
ページ離脱時のalertボタンで処...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
ジェネレーターの作り方
-
GASでundefinedエラーが出ます
-
ASP.NETのコントロールの値をJa...
-
C#で、ContextMenuStripに動的...
-
翌月を取得するGASが分かりません
-
gas スプレッドシートがアクテ...
-
ASP.NET MVCでObjectをjsに渡す
-
シンプルなweb版スタンプラリー...
-
ローカルにあるファイルを検索...
-
なぜmatchメソッドがエラーにな...
-
VSCODE[Python]の設定について
-
1日1回だけ引けるjavascriptお...
-
javascriptでiframeのURL変更は?
-
html javascript リンク先アド...
-
googleスプレッドシートのApps ...
-
lengthが読めない理由が分からない
-
【javascript】正規表現で括弧...
-
HTMLにWSHを組み込む
おすすめ情報