0

このコンテナーよりも大きなコンテンツのコンテナーがあります。jQueryとCSSで制御しています。ボタンは問題なく動作します。ボタン #3 をクリックすると、3 番目の div の部分にスクロールします。

(デモ:クリックして表示)

私がやりたいことは、次/前の div 部分に移動するためのコントロールを追加することです。

$(document).ready(function() {
var slidePosition = 0;
$('#slide1_controls').on('click', 'div', function(){
$("#slide1_divs").css("transform","translateX("+$(this).index() * -900+"px)");
$("#slide1_controls div").removeClass("selected");
$(this).addClass("selected");
slidePosition = $(this).index();
});
$('#nastepny').on('click', function(){
$("#slide1_divs").css("transform","translateX("+ slidePosition * -900+"px)");
$("#slide1_controls div").removeClass("selected");
});
});

ライン

$("#slide1_divs").css("transform","translateX("+$(this).index() * -900+"px)");

正常に動作します。

この部分

$("#slide1_divs").css("transform","translateX("+ slidePosition * -900+"px)");

しません。

$(slidePosition)、+($(slidePosition)) など、さまざまなバリエーションを試しました。

slidePosition 変数の代わりに Number が正常に機能します。alert(slidePosition) は正しい値を提供します。

私は何を間違っていますか?

4

1 に答える 1

0

これを試してください => FIDDLE

$('#nastepny').on('click', function(){

    if(slidePosition<(slideCount-1)){
        slidePosition++;
        pos = +(slidePosition * -900);
       $("#slide1_divs").css("transform"," translateX("+pos+"px)");
       $("#slide1_controls div").removeClass("selected");  
    }else{
       // other action...
    }

});
于 2013-07-21T14:48:35.497 に答える