簡體   English   中英

在MVC3中使用Javascript垂直滾動div

[英]Scrolling a div vertically using Javascript in MVC3

我是應用程序開發實習生。 我正在使用ASP.NET MVC3制作應用程序,該應用程序在框中顯示公司正在使用的各種項目。 這些框是使用foreach循環在表中創建的。

    <div class= "row">
       @foreach (var item in Model)
       {
       @Html.Action("Client", new { controller = "Dashboard", Client = item })      
       } 
    </div>

如果溢出,我希望這些框自動向下滾動。 這似乎是我要使用的功能:

    function pageScroll() {
       window.scrollBy(0,50); // horizontal and vertical scroll increments
       scrolldelay = setTimeout('pageScroll()',100); // scrolls every 100 milliseconds
    }

如何將此功能應用於在foreach循環中創建的框?

編輯:根據Timothy-Strimple的建議,我使用了一個名為scrollTo()的Jquery插件來創建此插件:

for (d = 0; d < 52; d) {

   $(".dashboard-well").scrollTo('100%', 10000).delay(2000);
   $(".dashboard-well").scrollTo('0%', 10000).delay(2000);
   d++;
 }

現在,當我看到的div溢出時,它將向下滾動,然后向上滾動5倍。

我不太確定我了解您要做什么。 如果要將div設置為溢出,請滾動:滾動,然后滾動到它的底部,這對於jQuery非常簡單。 我在示例聊天應用程序上做了類似的操作,每當有新消息出現時,頁面都會滾動到底部。 看起來像這樣:

$('#messages').scrollTop($('#messages')[0].scrollHeight);

因此,您可以做的是在創建所有行之后,像上面一樣在元素上設置scrollTop,然后將其設置為scrollHeight,這會將滾動條放在該部分的底部。

如果這不是您要的內容,請更新您的問題或發表評論,以便我更新我的答案。

使用javascript顯示/隱藏<div>滾動時</div><div id="text_translate"><p>我想制作一個采用性的粘性導航欄。 我以前從未用 Javascript 編寫過自己的代碼。</p><p> 我的解決方案是制作兩個基於滾動顯示/隱藏的粘性導航欄。 我的解決方案是這樣的:</p><ul><li> 首先,在完成任何滾動之前,我的第一個導航欄(黃色)將可見並位於距頂部 100px 的位置,即top:100px 。</li><li> 然后,當啟動滾動時,我希望這個黃色&lt;div&gt;使用display:none消失。</li><li> 同樣在滾動時,在黃色導航欄消失的同時,我會顯示帶有top:200px的橙色導航欄。</li><li> 現在,橙色條從一開始就(錯誤地)顯示,但它不應該......在任何給定時間只應顯示一個條。 我希望欄,即兩個&lt;div&gt;元素,在多次上下滾動時也能保持出現/消失。</li></ul><p> 我的 javascript 有問題,codepen 抱怨$未定義。</p><p> <a href="https://codepen.io/G1111/pen/RwBPrPR" rel="nofollow noreferrer">https://codepen.io/G1111/pen/RwBPrPR</a> </p><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"><div class="snippet-code"><pre class="snippet-code-js lang-js prettyprint-override"> $(window).scroll(function() { Testvariable = $(window).scrollTop(); if (Testvariable == 0) { document.getElementById("stickys").style.display = "normal"; document.getElementById("stickys2").style.display = "none"; } else { document.getElementById("stickys").style.display = "none"; document.getElementById("stickys2").style.display = "normal"; } });</pre><pre class="snippet-code-css lang-css prettyprint-override"> #stickys { top: 100px;important: background-color; yellow: height; 100px: position; fixed: position; fixed:important; box-sizing: border-box; margin: 0 0% 0 0%;important: padding; 0:important; width: calc(60vw - 0%); left: calc(20vw - 0%); right: calc(20vw - 0%); width: calc(100vw - 0%); left: 0px; right: 0px; opacity: 1; } #stickys2 { top: 200px;important: background-color; orange: height; 100px: position; fixed: position; fixed:important; box-sizing: border-box; margin: 0 0% 0 0%;important: padding; 0:important; width: calc(60vw - 0%); left: calc(20vw - 0%); right: calc(20vw - 0%); width: calc(100vw - 0%); left: 0px; right: 0px; opacity: 1; }</pre><pre class="snippet-code-html lang-html prettyprint-override"> &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"&gt;&lt;/script&gt; &lt;div id="stickys"&gt; My first sticky navigation bar. Show initially, then hide when slighest scroll, that is when Testvariable&gt;0. Here, top:100px &lt;/div&gt; &lt;div id="stickys2"&gt; My second sticky navigation bar. Hide initially, then show when slighest scroll, that is when Testvariable&gt;0. Here, top: 200px. &lt;/div&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;</pre></div></div><p></p></div>

[英]Using javascript to show/hide <div> when scrolling

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 使用javascript垂直居中div 在MVC3上使用javascript重定向的奇怪行為 在主頁或子頁面的MVC3中使用javascript 使用javascript在MVC3中驗證表單 使用Javascript將Div與Button垂直居中 具有Javascript的RadioButton(MVC3) MVC3中的JavaScript處理 使用香草 JavaScript 滾動時顯示 div 使用說Javascript以編程方式滾動Div 使用javascript顯示/隱藏<div>滾動時</div><div id="text_translate"><p>我想制作一個采用性的粘性導航欄。 我以前從未用 Javascript 編寫過自己的代碼。</p><p> 我的解決方案是制作兩個基於滾動顯示/隱藏的粘性導航欄。 我的解決方案是這樣的:</p><ul><li> 首先,在完成任何滾動之前,我的第一個導航欄(黃色)將可見並位於距頂部 100px 的位置,即top:100px 。</li><li> 然后,當啟動滾動時,我希望這個黃色&lt;div&gt;使用display:none消失。</li><li> 同樣在滾動時,在黃色導航欄消失的同時,我會顯示帶有top:200px的橙色導航欄。</li><li> 現在,橙色條從一開始就(錯誤地)顯示,但它不應該......在任何給定時間只應顯示一個條。 我希望欄,即兩個&lt;div&gt;元素,在多次上下滾動時也能保持出現/消失。</li></ul><p> 我的 javascript 有問題,codepen 抱怨$未定義。</p><p> <a href="https://codepen.io/G1111/pen/RwBPrPR" rel="nofollow noreferrer">https://codepen.io/G1111/pen/RwBPrPR</a> </p><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"><div class="snippet-code"><pre class="snippet-code-js lang-js prettyprint-override"> $(window).scroll(function() { Testvariable = $(window).scrollTop(); if (Testvariable == 0) { document.getElementById("stickys").style.display = "normal"; document.getElementById("stickys2").style.display = "none"; } else { document.getElementById("stickys").style.display = "none"; document.getElementById("stickys2").style.display = "normal"; } });</pre><pre class="snippet-code-css lang-css prettyprint-override"> #stickys { top: 100px;important: background-color; yellow: height; 100px: position; fixed: position; fixed:important; box-sizing: border-box; margin: 0 0% 0 0%;important: padding; 0:important; width: calc(60vw - 0%); left: calc(20vw - 0%); right: calc(20vw - 0%); width: calc(100vw - 0%); left: 0px; right: 0px; opacity: 1; } #stickys2 { top: 200px;important: background-color; orange: height; 100px: position; fixed: position; fixed:important; box-sizing: border-box; margin: 0 0% 0 0%;important: padding; 0:important; width: calc(60vw - 0%); left: calc(20vw - 0%); right: calc(20vw - 0%); width: calc(100vw - 0%); left: 0px; right: 0px; opacity: 1; }</pre><pre class="snippet-code-html lang-html prettyprint-override"> &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"&gt;&lt;/script&gt; &lt;div id="stickys"&gt; My first sticky navigation bar. Show initially, then hide when slighest scroll, that is when Testvariable&gt;0. Here, top:100px &lt;/div&gt; &lt;div id="stickys2"&gt; My second sticky navigation bar. Hide initially, then show when slighest scroll, that is when Testvariable&gt;0. Here, top: 200px. &lt;/div&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;.&lt;br&gt;</pre></div></div><p></p></div>
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM