2017-12-17 14 views
-2

jqueryスライダのカスタム矢印システムの比較をifとする必要があります。 事は、私がそうするように、「%」を使用していると、このコードはパーセンテージで動作していないよう:どうやらだけで、計算結果を取るJavascript/Jqueryスタイルにパーセントを指定した条件

$("#galerie-right").click(function() { 
    var fg = $('.foogallery').css('left'); 
    if(fg==''){ 
     $('.foogallery').css('left', '-101%'); 
    } else if(fg=='-101%'){ 
     $('.foogallery').css('left', '-202%'); 
    } 
}); 

私はcss()を知っているときに、ライン:

$('.foogallery').css('left', '-101%'); 

が呼び出されると、html要素にはstyle="left:-101%"が適用されます。おそらくこの値をどうにかする方法はありますか?

おかげで、

P.S:このような

+0

私はむしろjQueryの 'addClass'をstate1'と' state2' 'のような追加のクラスを追加してから使用することをお勧めしたいの これは私のコードが今のように見えるものですと 'hasClass'関数があります。 –

+0

'var fg = $( '。foogallery').css( 'left');' –

+0

Sunil Lama、まあ、私はピクセル値をpxで取得しています最後の0pxは例文 – Gawet

答えて

0

何かを選択したクラスfoogalleryを持つ唯一の項目があります。これにより、クラス内の任意のCSSを持つことができ、CSSの値に依存しないようにします。

$(document).ready(function() { 
 
    $("#btn").click(function() { 
 
    $('.foogallery').toggleClass("state1 state2"); 
 
    }) 
 
})
.foogallery { 
 
    width: 200px; 
 
    height: 200px; 
 
} 
 
.foogallery.state1::before{ 
 
    content:'state1' 
 
} 
 
.foogallery.state2::before{ 
 
    content:'state2' 
 
} 
 
.foogallery.state1{ 
 
    background:#ccc; 
 
} 
 
.foogallery.state2{ 
 
    background:#fcc; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="foogallery state1"></div> 
 
<button id="btn">Toggle</button>

+0

これは素晴らしいアイデアですが、左矢印と右矢印があることを考えれば、それはうまく動作しません。とにかく、ありがとう、それは間違いなく他のプロジェクトに便利です! – Gawet

0

BrahamのDevのおかげで、私は解決策を見つけました。 CSSの変更をクラスに保存し、必要に応じて追加/削除するだけです。

$("#galerie-right").click(function() { 
      if($('.foogallery').hasClass('galerie-left202')==true){ 
       $('.foogallery').removeClass('galerie-left202'); 

      }else if($('.foogallery').hasClass('galerie-left101')==true){ 
       $('.foogallery').addClass('galerie-left202'); 
       $('.foogallery').removeClass('galerie-left101'); 

      }else{ 
       $('.foogallery').addClass('galerie-left101'); 
      } 
     }); 

CSS:

<!-- language: lang-css --> 
div#galerie-photo div.foogallery.galerie-left101{left:-101%;} 
div#galerie-photo div.foogallery.galerie-left202{left:-202%;} 
関連する問題