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

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

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

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

jQuery

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

Q&A

解決済

1回答

1674閲覧

(swiperでメニューボタンを押した時に、センター表示にしたい。)前回の質問が解決していませんでした。

kenshin

総合スコア7

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

jQuery

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

0グッド

0クリップ

投稿2020/02/29 07:21

編集2020/03/05 01:46

|1 | 2 | 3 | 4 | 5 |6 7 8
画面内に1~5のタブがあり、スライドするので6、7は外面の外で見えない状態

          
最初に「1」にスライドがあり2、3、4、5番と順番に押すとうまくスライドするのですが、
1番から5番を押すとスライドせず、5番から4番を押すとスライドするなど
ちぐはぐな動きになってしまいます。

どなたか、教えてもらえないでしょうか?

jQuery(function($){

1$(document).ready(function(){ 2 3$(function(){ 4 $(window).on('load scroll resize', function(){ 5 if( $(this).scrollTop() > $('#nav').offset().top ) { 6 $('nav').addClass('fix'); 7 } 8 else { 9 $('nav').removeClass('fix'); 10 } 11 }); 12 13 14window.addEventListener('DOMContentLoaded', function() { 15 16 17//グローバルメニュー 18 var galleryThumbs = new Swiper('.tab-menu', { 19 spaceBetween: 1, 20 slidesPerView: 5, 21 watchSlidesVisibility: true, 22 watchSlidesProgress: true, 23 slideActiveClass: 'swiper-slide-active' 24 }); 25 26galleryThumbs.on('touchEnd', function () { //サムネイルがタップされたら、 27 var current = galleryTop.activeIndex; //選ばれたコンテンツの番号をとってきて、 28 galleryThumbs.slideTo(current - 2, 500, true); //その番号の二つ前のタブまで500ミリ秒かけてスライドする 29}); 30//コンテンツ 31 var galleryTop = new Swiper('.tab-contents', { 32 spaceBetween: 2, 33 autoHeight: true, 34 thumbs: { 35 swiper: galleryThumbs 36 } 37}); 38//投稿 39var mySwiper1 = new Swiper('.swiper1', { 40 initialSlide: 1, 41 hashNavigation: true, 42 navigation: { 43 nextEl: '.next1', 44 prevEl: '.prev1' 45 }, 46 pagination: { 47 el: '.page1', 48 type: 'bullets', 49 clickable: true 50 } 51}); 52 53 54}); 55}); 56}); 57 }); 58 59 60コード
<?php $options = get_desing_plus_option(); if (!is_paged()): get_header(); ?> <?php if(wp_is_mobile()): ?> <div class="container"> <!-- Swiper --> <div id="nav"> <nav> <div class="swiper-container tab-menu"> <div class="swiper-wrapper"> <div class="swiper-slide">トップ</div> <div class="swiper-slide">スポット</div> <div class="swiper-slide">遊び</div> <div class="swiper-slide">グルメ</div> <div class="swiper-slide">ペット</div> <div class="swiper-slide">お店</div> <div class="swiper-slide">特集</div> <div class="swiper-slide">雑貨</div> </div> </div> </nav> </div> <div class="swiper-container tab-contents"> <div class="swiper-wrapper"> <div class="swiper-slide">ボックス1</div> <div class="swiper-slide">ボックス2</div> <div class="swiper-slide">ボックス3</div> <div class="swiper-slide">ボックス4</div> <div class="swiper-slide">ボックス5</div> <div class="swiper-slide">ボックス6</div> <div class="swiper-slide">ボックス7</div> <div class="swiper-slide">ボックス8</div> </div> </div> コード
<div class="swiper-container swiper1"> <!-- メイン表示部分 --> <div class="swiper-wrapper"> <!-- 各スライド --> <div class="swiper-slide"> 個別記事</div> </div> </div> コード

body{

1 2} 3.container { 4width: auto; !important; 5 margin-left:0%; 6 7 8} 9.swiper-container { 10 margin: 0 auto 30px; 11 12} 13.tab-menu{ 14 content:""; 15 margin-left:0%; 16 width: auto; 17 height: 35px; 18 line-height:15px; 19 border-bottom: 1px solid #cccc ; 20 21 22} 23.tab-menu .swiper-slide { 24 width: auto; 25 position:relative; 26 padding: 10px 0; 27 background-color: #a7f2e4; 28 text-align: center; 29 font-weight: bold; 30 font-size: calc(70% + 0.12vw); 31 vertical-align: middle; 32 33} 34.tab-contents { 35 margin: 0px auto; 36 37} 38.swiper-slide-thumb-active { 39 background-color: rgb(242, 56, 121) !important; 40 border-bottom: 10px solid rgb(242, 56, 121) !important; 41 color: rgb(250,250, 250) !important; 42 font-weight: bold; 43} 44 45#nav { 46 position: relative; 47 width: 100%; 48 height: 35px; 49} 50 51nav { 52 position: absolute; 53 width: 100%; 54 height:35px; 55 56} 57 58nav.fix { 59 position: fixed; 60 top: 0; 61 max-width: 100vw; 62 z-index:999; 63} 64 65.swiper1.swiper-slide { 66 width: 100%; 67 height: 100%; 68} 69 70 71 72 .iframeBody{ 73 margin: 0; 74 padding: 0; 75 border: 0; 76 overflow: hidden; 77 } 78 iframe{ 79 border:none; 80 width:100%; 81 height:100%; 82 83 } 84 85コード

現在のJavaScriptです。
前回、回答をいただき、1から順番にタブメニューを押したら、うまくできたと思っていたのですが、1番の次に5番などを押す場合(順番に押さない場合)に、うまくいかなかったので、その後のコードによって、うまくいかなくなったのではないです。
よろしくお願いします。

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

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

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

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

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

hwatarig

2020/03/04 12:46

記載されているコードでは状況が再現できないので、現時点のコードを漏れなく記載ください。 また、前回の質問のurlを参考に貼って、解決した後何があってまたうまくいかなくなったのか記載いただくと良いかもしれません。 前回の質問、これですよね。 https://teratail.com/questions/243212
hwatarig

2020/03/04 15:08

javascriptだけではなく、html、cssも完全な物を記載してください。 たとえばhtmlにはjavascriptで指定している .tab-menu というクラスがありませんし、cssは global-nav という存在しない要素にたいしてスタイルがかけられています。 コードブロックを書く際、「```」の後には必ず改行が必要です。
guest

回答1

0

ベストアンサー

以下の3行がgallertyThumbsとgalleryTopの定義の間に記載されていますが、galleryTopの定義よりも後ろに移動してください。

galleryThumbs.on("tap", function() { //サムネイルがタップされたら、 var current = galleryTop.activeIndex; //選ばれたコンテンツの番号をとってきて、 galleryThumbs.slideTo(current - 2, 500, true); //その番号の二つ前のタブまで500ミリ秒かけてスライドする });

ついでに……いくつか誤りがあるので記載しておきます。

importantの使い方
width: auto; !important;width: auto!important;

DOMの読み込みを待つ記述
$(document).ready(function(){
window.addEventListener('DOMContentLoaded', function() {
この二つはほぼ同じ意味のはずです。どちらかだけ使えばいいと思います。

js
末尾の});が多すぎます。

投稿2020/03/05 12:46

hwatarig

総合スコア461

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

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

kenshin

2020/03/06 09:38

本当にわからないと、時間がめちゃくちゃかかり、本当に助かりました。 僕みたいな素人に色々教えていただき本当に感謝しています。 回答も丁寧ですし、めちゃくちゃ助かりました。 hwatarigさんありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問