2016-03-18 3 views
0

У меня есть простая HTML-страница с индикатором выполнения JavaScript. Моя страница перезагружается каждые 30 секунд, и мой индикатор выполнения установлен на 30 секунд после загрузки.Яркость выполнения Javascript после загрузки

Я хочу, чтобы очистить значение индикатора выполнения каждый раз, когда страница перезагружается и снова загружается с 0 до 100%. Кто-нибудь может мне с этим помочь? Спасибо!

Вот что у меня есть.

HTML

<input type="text" id="val1" placeholder="Search" onKeyPress="Val1KeyPress()" onKeyUp="Val1KeyPress()"/> 

<input type = "text" id="date" placeholder="date to"> 
      <img src="cal1.png" /> 
      <input type = "text" id="date1" placeholder="date from"> 
      <img src="cal2.png" /> 
      <input type="submit" id="btn_search" value="search"/> 


<div class = "iframe-div"> 
      <iframe id="iframe" src='http://mypage.aspx' runat="server" allowTransparency='true' width='850px' height='500px'> 
      </iframe> 

     </div> 

    <div id="progressbar" class="progress-wrap progress" data-progress-percent="100"> 
    <div class="progress-bar progress"></div> 
    </div> 

CSS

.progress { 
    width: 100%; 
    height: 50px; 
    margin-top:-10px !important; 
} 

.progress-wrap { 
    background: #f80; 
    border-radius: 0 !important; 
    overflow: hidden; 
    position: relative; 
} 
.progress-wrap .progress-bar { 
    background: #ddd; 
    position: absolute; 

} 

Javascript

<script> 
function setURL(url){ 
    document.getElementById('iframe').src = url; 
} 
</script> 

<script> 
    function Val1KeyPress() 
    { 
     var val1 = document.getElementById("val1"); 
     var sr = val1.value; 
     var lblValue = document.getElementById("lblValue"); 
     lblValue.innerText = " "+s; 
    } 
    function sample(){ 
     var val1 = document.getElementById("val1"); 
     var sr = val1.value; 

     var date = document.getElementById("date"); 
     var dtep = "&dateto=".concat(date.value); 

     var date1 = document.getElementById("date1"); 
     var dtep1 = "&datefrm=".concat(date1.value); 

     setURL('http://mypage.aspx?search='.concat(sr, dtep, dtep1)) 
    } 
</script> 


    <script> 
    var picker = new pikdate 
    (
{ 
    field: document.getElementById('date'), 
    firstDay: 1, 
    format: 'MM/DD/YYYY', 
    minDate: new Date(2000, 0, 1), 
    maxDate: new Date(2020, 12, 31), 
    yearRange: [2000, 2020] 
}); 
</script> 
<script> 
    var picker = new Pikaday(
{ 
    field: document.getElementById('date1'), 
    firstDay: 1, 
    format: 'MM/DD/YYYY', 
    minDate: new Date(2000, 0, 1), 
    maxDate: new Date(2020, 12, 31), 
    yearRange: [2000, 2020] 
}); 

</script> 

    <script> 


moveProgressBar(); 
    $(window).resize(function() { 
     moveProgressBar(); 
    }); 
    function moveProgressBar() { 
     console.log("moveProgressBar"); 
     var getPercent = ($('.progress-wrap').data('progress-percent')/100); 
     var getProgressWrapWidth = $('.progress-wrap').width(); 
     var progressTotal = getPercent * getProgressWrapWidth; 
     var animationLength = 30000; 

     // on page load, animate percentage bar to data percentage length 
     // .stop() used to prevent animation queueing 
     $('.progress-bar').stop().animate({ 
      left: progressTotal 
     }, animationLength); 
      clearInterval('.progress-wrap'); 

     var interval = setInterval(function() { 
      clearInterval(interval); 

       setURL('http://mypage.aspx?search?stat=');}) 
      setTimeout(arguments.callee, 31000); 
} 

+0

Ваша вся страница перезарядка через 30 секунд? Тогда вы не JS, чтобы создать индикатор выполнения, который завершается через 30 секунд. Вы можете просто использовать анимацию CSS. Если какая-то часть вашей страницы меняется после 30, и вам необходимо перезапустить индикатор выполнения, вам понадобится какой-то JS. Что вы пытаетесь сделать? –

+0

@NamanNehra Привет, Я пытаюсь выполнить индикатор выполнения, чтобы перезагрузить его после загрузки после перезагрузки всей страницы. –

+0

Где задана функция setURL? –

ответ

1
<style> 
    @keyframes progress { 
     from { 
      transform: scale(0, 1); 
     } 
     to { 
      transform: none; 
     } 
    } 
    .progress { 
     background-color: blue; /*some color*/ 
     height: 4px; /*some height*/ 
     position: absolute; 
     top: 0; 
     right: 0; 
     left: 0; 
     transform-origin: left; 
    } 
    .animation { 
     animation: progress 30s; 
    } 
</style> 
<div class="progress animation"></div> 
<script> 
    var progressBar = document.querySelector('.progress'); 
    function restartprogressBar() { 
     progressBar.classList.remove('animation'); 
     progressBar.offsetWidth = progressBar.offsetWidth; 
     progressBar.classList.add('animation'); 
    }; 
    setInterval(function() { 
     //setURL function comes here 
     restartprogressBar(); 
    }, 30000); 
</script> 

https://jsfiddle.net/namannehra/osae4u5e/

+0

Спасибо @Naman Nehra. Но можете ли вы, пожалуйста, помочь мне в вашем скрипте с перезагрузкой страницы. Я не могу выполнить ваш чистый css с перезагрузкой javascript после того, как загружен индикатор progressbar. –

+0

Вам не нужно ничего писать для перезагрузки страницы. Он снова запустится при перезагрузке страницы. Или вам нужен код для перезагрузки страницы через 30 секунд? –

+0

Yup, точно. Мне нужен код для перезагрузки страницы через 30 секунд. Не могли бы вы мне помочь? Спасибо. –

Смежные вопросы