0

要素をページの左側に固定するだけでなく、上下にスクロールできるようにするのに最も苦労しました。

左の位置を $(window).scrollLeft() に変更するだけの方法を既に試しましたが、これは非常に途切れ途切れのアニメーションになります。

私が探しているのは、このフィドルの反対ですが、うまく機能させることができません:

http://jsfiddle.net/F7Bme/

var leftInit = $(".scroll_fixed").offset().left;
var top = $('.scroll_fixed').offset().top - parseFloat($('.scroll_fixed').css('margin-       top').replace(/auto/, 0));

$(window).scroll(function(event) {
   var x = 0 - $(this).scrollLeft();
   var y = $(this).scrollTop();

// whether that's below the form
if (y >= top) {
    // if so, ad the fixed class
    $('.scroll_fixed').addClass('fixed');
} else {
    // otherwise remove it
    $('.scroll_fixed').removeClass('fixed');
}

$(".scroll_fixed").offset({
    left: x + leftInit
   });
});

この div は上に固定されていますが、左には固定されていないことに注意してください。私は反対の、上ではなく左に固定されたものを探しています。何か案は?

このフィドルを編集しようとしましたが、うまくいきません。

4

2 に答える 2

1

これは中華鍋:

var leftInit = $(".scroll_fixed").offset().left;
var top = $('.scroll_fixed').offset().top - parseFloat($('.scroll_fixed').css('margin-top').replace(/auto/, 0));

$(window).scroll(function(event) {
  var x = $(this).scrollLeft();
  var y = $(this).scrollTop();

  // whether that's below the form
  if (x >= leftInit) {
      // if so, ad the fixed class
      $('.scroll_fixed').addClass('fixed');
  } else {
      // otherwise remove it
      $('.scroll_fixed').removeClass('fixed');
  }

  $(".scroll_fixed").offset({
      left: x + leftInit
  });
});

編集また変更

.scroll_fixed.fixed {
  position:absolute;
于 2013-05-03T21:26:07.660 に答える
1

多分これはあなたが望んでいたものですhttp://jsfiddle.net/F7Bme/958/

.scroll_fixed {
    position: relative;
    float: left;
    left: 0;
}
.scroll_fixed div {
    float: left;
    position: relative
} 

そしてJSを忘れた

于 2013-05-03T21:35:18.830 に答える