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

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

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

Q&A

解決済

2回答

1292閲覧

【turn.js】で任意のページに移動させたい

kogi

総合スコア2

0グッド

0クリップ

投稿2022/11/08 05:02

前提

turn.jsで本のようにめくれるページを制作しています。

実現したいこと

【5ページ目へ】というボタンで5ページ目へ、【7ページ目へ】というボタンで7ページ目へ移動させたいです。
turn.jsのサンプルコードでは「前のページ」「次のページ」ボタンは実装されているのですが、任意のページに移動させる方法をご教授いただけないでしょうか。

turn.jsの「前のページ」「次のページ」はこのようになっています。こちらを「5ページ目へ移動」「7ページ目へ移動」のように変えたいです。

よろしくお願いいたします。

該当のソースコード

html

1<body> 2 <div class="container"> 3 <header> 4 <h1>turn.jsサンプル</h1> 5 </header> 6 <main> 7 <div id="katudon_turn"> 8 <div> 9 <img src="images/katudon_p1.jpg"> 10 </div> 11 <div> 12 <img src="images/katudon_p2.jpg"> 13 </div> 14 <div> 15 <img src="images/katudon_p3.jpg"> 16 </div> 17 <div> 18 <img src="images/katudon_p4.jpg"> 19 </div> 20 <div> 21 <img src="images/katudon_p5.jpg"> 22 </div> 23 <div> 24 <img src="images/katudon_p6.jpg"> 25 </div> 26 <div> 27 <img src="images/katudon_p7.jpg"> 28 </div> 29 </div> 30 <ul> 31 <li> 32 <span id="page05">5ページ目へ</span> 33 </li> 34 <li> 35 <span id="page07">7ページ目へ</span> 36 </li> 37 </ul> 38 </main> 39 </div> 40</body>

my_script.js

1$(function(){ 2 $('#page05').click(function(){ 3 $('#katudon_turn').turn('page05'); 4 }); 5 $('#page07').click(function(){ 6 $('#katudon_turn').turn('page07'); 7 }); 8});

turn.js

1 // Turns to the next view 2 3 page05: function() { 4 5 return this.turn('page', Math.min(this.data().totalPages, 6 turnMethods._view.call(this, this.data().page).pop() + 1)); 7 8 }, 9 10 // Turns to the previous view 11 12 page07: function() { 13 14 return this.turn('page', Math.max(1, 15 turnMethods._view.call(this, this.data().page).shift() - 1)); 16 17 },

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

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

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

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

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

guest

回答2

0

ベストアンサー

html

1<!-- データ属性設定 --> 2<span id="page03" data-page="3">3ページ目へ</span> 3<span id="page05" data-page="5">5ページ目へ</span>

JavaScript

1$('[data-page]').click(function (e) { // data-page属性を持つすべての要素 2 $('#katudon_turn').turn('page', this.dataset.page); // データ属性値(文字列)を渡す 3});

.turnメソッドに「'page', 任意の数値(文字列)」を渡せばいいみたい
データ属性使いましたけど、適当に工夫してみてください

投稿2022/11/08 10:36

bellchin

総合スコア56

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

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

kogi

2022/11/09 01:29

ありがとうございました!とても助かりました!
guest

0

これですか?
https://masibw.github.io/portfolio/

上記URLの処理の場合turn.jsの中身が違うと思います

投稿2022/11/08 08:56

unknown_name

総合スコア2

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

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

kogi

2022/11/09 01:29

解決しました!探して頂きありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問