2011-08-15 24 views
0

現在、無限/連続/ボトムレススクロールに似た機能を実装しようとしていますが、私自身のアプローチを思いついています(インターンとして、私は自分で考え出すことができます)。これまでは、固定サイズのdivをページに取り込み、ユーザーがスクロールすると、各divに画像が取り込まれます。今のところ、私が書いた関数は最初のdivで動作しますが、連続するdivでは動作しません。連続したdivでJavascript/jQueryスクロール機能を使用する

 $(window).scroll(function() { 
     var windowOffset = $(this).scrollTop(); 
     var windowHeight = $(this).height(); 
     var totalHeight = $(document).height(); 

     var bottomOffset = $(window).scrollTop() + $(window).height(); 

     var contentLoadTriggered = new Boolean(); 

     var nextImageCount = parseInt($("#nextImageCount").attr("value")); 
     var totalCount = @ViewBag.totalCount; 
     var loadedPageIndex = parseInt($("#loadedPageIndex").attr("value")); 

     var calcScroll = totalHeight - windowOffset - windowHeight; 

     $("#message").html(calcScroll); 

     contentLoadTriggered = false; 

     if (bottomOffset >= ($(".patentPageNew[id='" + loadedPageIndex + "']").offset().top - 1000) 
     && bottomOffset <= $(".patentPageNew[id='" + loadedPageIndex + "']").offset().top && contentLoadTriggered == false 
     && loadedPageIndex == $(".patentPageNew").attr("id")) 
     { 
      contentLoadTriggered = true; 
      $("#message").html("Loading new images"); 
      loadImages(loadedPageIndex, nextImageCount); 
     } 
    }); 

これは、画像読み込み機能である:

 function loadImages(loadedPageIndex, nextImageCount) { 
     var index = loadedPageIndex; 
     for(var i = 0; i < nextImageCount; i++) 
     { 
      window.setTimeout(function() { 
       $(".patentPageNew[id='" + index + "']").html("<img src='/Patent/GetPatentImage/@Model.Id?pageIndex=" + index + "' />"); 
       index++; 
       var setValue = index; 
       $("#loadedPageIndex").attr("value", setValue); 
      }, 2000); 
     } 
    } 

私が最初のdiv後に動作を停止する機能を引き起こしている可能性のあるものをと思いまして、あるいはどのような私へのより良いアプローチがあるかもしれない場合試みている?

EDIT: if文内のloadedPageIndex == $(".patentPageNew").attr("id")が原因と思われます。

答えて

0

@ViewBag.totalCount;はJavaScriptではありません。これは.NETのため、エラーが発生した後にスクリプトが停止する可能性があります。

また、".patentPageNew[id='" + loadedPageIndex + "']"は非効率的です。 IDは一意でなければならないので、クラス名ではなくIDで照会するだけです。

+0

.NETの値を通常の整数値に置き換えようとしましたが、同じ結果が得られているようです。 '$("#message ").html(calcScroll)'はまだ動作しているので、私はif文の中に条件付きのものがあるかもしれないと考えていましたか? – SCS

+0

私はあなたのIFロジックの値を出力し、あなたが得ているものを見ていきます。 –

関連する問題