$(document).ready( function() { tiles = $('.ajax_block_product').fadeTo(0,0); "> $(document).ready( function() { tiles = $('.ajax_block_product').fadeTo(0,0); "> $(document).ready( function() { tiles = $('.ajax_block_product').fadeTo(0,0); " />

スクロールしながら要素をフェードインさせるエレガントな方法ですか?

私の仕事は、このようにスクロールしながら要素をフェードインさせることでした - http://layot.prestatrend.com/ 私は2つのソースから収集したjQueryコードの助けを借りて作成しました。

<script type="text/javascript">
 $(document).ready( function() {

 tiles = $('.ajax_block_product').fadeTo(0,0);

 $(window).scroll(function(d,h) {
    tiles.each(function(i) {
        a = $(this).offset().top + $(this).height();
        b = $(window).scrollTop() + $(window).height();
        if (a < b) $(this).fadeTo(500,1);
    });
 });

 function inWindow(s){
  var scrollTop = $(window).scrollTop();
  var windowHeight = $(window).height();
  var currentEls = $(s);
  var result = [];
  currentEls.each(function(){
    var el = $(this);
    var offset = el.offset();
    if(scrollTop <= offset.top && (el.height() + offset.top) < (scrollTop +    windowHeight))
      result.push(this);
  });
  return $(result);
}

inWindow('.ajax_block_product').fadeTo(0,1);

});
</script>

これは洗練された解決策ですか、コードを短くてエレガントにする方法ですか?

0
定義する "エレガント"。
追加された 著者 Andrew Barber,
そのようなコードをより短くする方法があるのでしょうか、それとも私のコードがそのような解決策の最良の方法ですか?
追加された 著者 Anton,
codereview.stackexchange.com を試してください。
追加された 著者 JJJ,

答えはありません

0