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

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

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

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

Sass

Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

2047閲覧

bx-sliderでPCとSPで画像の切り替えをしたら一部オプションが使えなくなった。

pompom0c0

総合スコア12

JavaScript

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

Sass

Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/05/29 08:42

bx-sliderでスライダーを作成しているのですが、PCとSPで別の画像を表示するために、cssで該当箇所をvisibility: hidden;して、jQueryで表示切り替えをしたら、一部オプションが使えなくなってしまいました。

  • goToSlide();
  • goToPrevSlide();
  • goToNextSlide();

こちらのオプションを使うには、どうしたらいいでしょうか...
cssでvisibility: hidden;する方法がよくないのでしょうか。

よろしくお願いします。

html

1<section class="keyvisual slider" id="slider"> 2 <div class="keyvisual__main slider-wrap"> 3 <div class="slider-wraper"> 4 <div class="bx-wrapper"> 5 <div class="bx-viewport"> 6 <ul class="bxslider bxslider-pc"> 7 <li><a href="javascript:void(0);"><img class="switch" src="img/keyvisual/keyvisual04_pc.jpg" alt="keyvisual-04"></a></li> 8 <li><a href="javascript:void(0);"><img class="switch" src="img/keyvisual/keyvisual01_pc.jpg" alt="keyvisual-01"></a></li> 9 <li><a href="javascript:void(0);"><img class="switch" src="img/keyvisual/keyvisual02_pc.jpg" alt="keyvisual-02"></a></li> 10 <li><a href="javascript:void(0);"><img class="switch" src="img/keyvisual/keyvisual03_pc.jpg" alt="keyvisual-03"></a></li> 11 </ul> 12 <ul class="bxslider bxslider-sp"> 13 <li><a href="javascript:void(0);"><img class="switch" src="img/keyvisual/keyvisual01_sp.jpg" alt="keyvisual-01"></a></li> 14 <li><a href="javascript:void(0);"><img class="switch" src="img/keyvisual/keyvisual02_sp.jpg" alt="keyvisual-02"></a></li> 15 <li><a href="javascript:void(0);"><img class="switch" src="img/keyvisual/keyvisual03_sp.jpg" alt="keyvisual-03"></a></li> 16 <li><a href="javascript:void(0);"><img class="switch" src="img/keyvisual/keyvisual04_sp.jpg" alt="keyvisual-04"></a></li> 17 </ul> 18 </div> 19 </div> 20 </div> 21 </div> 22 <div class="bx-controls"> 23 <div class="bx-controls-direction"><a class="bx-prev" href="javascript:void(0)"><img src="img/btn/btn_prev.png"></a><a class="bx-next" href="javascript:void(0)"><img src="img/btn/btn_next.png"></a></div> 24 </div> 25 <div> 26 <ul class="keyvisual__nav wrapper"> 27 <li><a href=""><img src="img/keyvisual/keyvisual__nav-01.png" alt="PICKUP 01"> 28 <p>あああああ</p></a></li> 29 <li><a href=""><img src="img/keyvisual/keyvisual__nav-02.png" alt="PICKUP 02"> 30 <p>いいいいい</p></a></li> 31 <li><a href=""><img src="img/keyvisual/keyvisual__nav-03.png" alt="PICKUP 03"> 32 <p>うううううう</p></a></li> 33 <li><a href=""><img src="img/keyvisual/keyvisual__nav-04.png" alt="PICKUP 04"> 34 <p>えええええ</p></a></li> 35 </ul> 36 </div> 37 </section>

sass

1.slider { 2 #slider { 3 width: 100%; 4 height: 100%; 5 min-height: 500px; 6 overflow: hidden; 7 position: relative; 8 } 9 .slide-wrap { 10 height: 400px; 11 position: absolute; 12 @include pc { 13 width: 1920px; 14 left: 50%; 15 margin-left: -960px; 16 } 17 } 18 .bx-viewport { 19 visibility: hidden; 20 } 21 .bx-controls { 22 position: absolute; 23 z-index: 100; 24 @include pc { 25 width: 1020px; 26 top: 0; 27 left: 50%; 28 margin-left: -320px; 29 } 30 img { 31 @include pc { 32 display: none; 33 } 34 @include sp { 35 // width: 50px; 36 } 37 } 38 a.bx-prev { 39 @include pc { 40 left: -1209px; 41 } 42 @include sp { 43 left: 191px; 44 } 45 } 46 a.bx-next { 47 @include pc { 48 right: -835px; 49 } 50 @include sp { 51 right: -256px; 52 } 53 } 54 } 55 .bx-controls-direction { 56 max-width: 100%; 57 top: 0; 58 position: absolute; 59 @include sp { 60 min-width: 1020px; 61 } 62 @include sp { 63 min-width: 100%; 64 padding: 20px 0; 65 } 66 a { 67 position: absolute; 68 width: 100%; 69 display: block; 70 z-index: 9999; 71 } 72 } 73 .bx-pager { 74 text-align: center; 75 clear: both; 76 display: block; 77 position: relative; 78 top: 320px; 79 .bx-pager-item { 80 line-height: 1; 81 height: 40px; 82 width: 40px; 83 overflow: hidden; 84 display: inline-block; 85 margin:10px 2px 0 2px; 86 a { 87 background-color: #ccc; 88 display: block; 89 padding-top: 50px; 90 display: block; 91 &.active {opacity:0.5;} 92 &:hover {opacity:0.3;} 93 } 94 } 95 } 96 .result { 97 padding: 30px; 98 margin: 30px; 99 border: 1px solid #F1F1F1; 100 font-size: 12px; 101 span { 102 display: block; 103 margin-top: 1em; 104 } 105 p { 106 margin-bottom: 1em; 107 font-weight: bold; 108 font-size: 14px; 109 } 110 .slide { 111 width: 300px !important; 112 position: static !important; 113 float:none !important; 114 } 115 } 116} 117 118.keyvisual { 119 max-width: 1920px; 120 margin: 0 auto; 121 @include sp { 122 border-bottom: 3px solid $text__base; 123 } 124 .slider-wraper { 125 position: absolute; 126 @include pc { 127 width: 1020 * 3 + px; 128 margin-left: -1020 * 1.5 + px; 129 left: 50%; 130 } 131 @include sp { 132 width: 100* 3 + %; 133 height: auto; 134 } 135 } 136 .bxslider { 137 li { 138 margin: 0 1px; 139 } 140 } 141 .keyvisual__main { 142 width: 100%; 143 overflow: hidden; 144 position: relative; 145 @include pc { 146 height: 510px; 147 } 148 @include sp { 149 min-height: 320px; 150 } 151 ul { 152 position: relative; 153 } 154 li { 155 float: left; 156 list-style: none; 157 position: relative; 158 height: 100%; 159 @include pc { 160 width: 1020px; 161 } 162 } 163 } 164 .keyvisual__nav { 165 @include pc { 166 padding: 8px 0 64px 0; 167 position: relative; 168 overflow: hidden; 169 ul { 170 position: relative; 171 left: 50%; 172 float: left; 173 } 174 li { 175 width: 250px; 176 margin: 0 2px; 177 border-top: 6px solid $color__base; 178 position: relative; 179 float: left; 180 a:hover, a:active,a:focus { 181 border-top: 6px solid #444; 182 } 183 } 184 img { 185 padding: 10px 16px 0 0; 186 float: left; 187 } 188 p { 189 padding-top: 10px; 190 } 191 } 192 @include sp { 193 li { 194 width: 180px; 195 padding: 10px; 196 } 197 img { 198 width: 40px; 199 padding: 10px 5px; 200 float: left; 201 overflow: hidden; 202 } 203 p { 204 padding: 10px 0; 205 overflow: hidden; 206 } 207 } 208 } 209}

javascript

1$(document).ready(function(){ 2 var slider = $('.bxslider').bxSlider({ 3 pager: false, 4 auto: true, 5 slideWidth: 1020, 6 touchEnabled: true, 7 minSlides: 3, 8 maxSlides: 3, 9 moveSlides: 1, 10 slideMargin: 0 11 }); 12 13 $(".keyvisual__nav a").on({ 14 "click": function(event) { 15 event.preventDefault(); 16 var index = $(event.currentTarget).parent().index(); 17 slider.stopAuto(); 18 slider.goToSlide(index); 19 slider.startAuto(); 20 } 21 }); 22 23 $(".bx-prev").on({ 24 "click": function() { 25 slider.goToPrevSlide(); 26 } 27 }); 28 29 $(".bx-next").on({ 30 "click": function() { 31 slider.goToNextSlide(); 32 } 33 }); 34 35 var $setElem = $('.switch'), 36 pcName = '_pc', 37 spName = '_sp', 38 replaceWidth = 768; 39 40 $setElem.each(function() { 41 var $this = $(this); 42 function imgSize() { 43 if(window.innerWidth > replaceWidth) { 44 $this.attr('src', $this.attr('src').replace(spName,pcName)).css({visibility: 'visible'}); 45 } else { 46 $this.attr('src', $this.attr('src').replace(pcName,spName)).css({visibility: 'visible'}); 47 } 48 } 49 $(window).resize(function() {imgSize();}); 50 imgSize(); 51 }); 52});

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

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

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

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

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

guest

回答1

0

ベストアンサー

SCSSは詳しくないので、CSSで記入すると下記のようにブレイクポイントを作ってあげるのはダメでしょうか?
これで一応いけました

またvisibility:hiddenについて記事があったので載せておきます。
display:none と visibility:hidden の違い

CSS

1@media(max-width:500px) { 2 .bxslider-pc{ 3 display: none; 4 }

投稿2017/05/31 03:06

編集2017/05/31 03:08
TONGARI

総合スコア184

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問