php прогресс при запуске оболочки Linux удаленно (ssh) [дубликат]

Лучшее решение для поиска последнего выходного ребенка из firebase

String LASTMESSAGE=NULL; DatabaseReference dbref = Firebase.getInstance().getReference(); Query lastchield = FirebaseDatabase.child("yourchieldfororder") .orderByKey().limitToLast(1); lastchield.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot ds) { LASTMESSAGE= ds.child("message").getValue().toString(); } @Override public void onCancelled(DatabaseError databaseError) { LASTMESSAGE = "No-Last-MESSAGE-EXIT"; } });

Запрос сначала заказывает дочерний идентификатор, а затем дает вам последний id дочернего элемента в снимке данных.

Счастливое кодирование!

36
задан Linus Caldwell 25 May 2013 в 00:38
поделиться

15 ответов

Вы можете сделать это, управляя шириной div через css. Что-то грубо в этих строках:

<div id="container" style="width:100%; height:50px; border:1px solid black;">
  <div id="progress-bar" style="width:50%;/*change this width */
       background-image:url(someImage.png);
       height:45px;">
  </div>
</div>

Это значение ширины может быть отправлено с php, если вы этого желаете.

42
ответ дан Sam Dufel 22 August 2018 в 10:10
поделиться
  • 1
    Спасибо, я думал по тем же самым строкам, но я, хотя бы как-то другой способ сделать это. – john mossel 17 October 2010 в 04:45
  • 2
    По какой-то причине у меня возникли проблемы с html5 & lt; progress & gt; тег, ваше решение пригодилось :) – noviewpoint 19 July 2015 в 07:33

Вы можете создать индикатор выполнения любого элемента html, для которого вы можете установить градиент. (Довольно круто!) В приведенном ниже примере фон элемента HTML обновляется линейным градиентом с помощью JavaScript:

myElement.style.background = "linear-gradient(to right, #57c2c1 " + percentage + "%, #4a4a52 " + percentage + "%)";

PS Я установил оба места percentage таким же образом, чтобы создать сложный линия. Играйте с дизайном, вы можете даже добавить границу, чтобы получить этот классический вид выполнения:)

https: // jsfiddle .net / uoL8j147 / 1 /

1
ответ дан Bruno 22 August 2018 в 10:10
поделиться

В основном это: у вас есть три файла: ваш длинный PHP-скрипт, индикатор выполнения, управляемый Javascript ( @SapphireSun, дает опцию ) и скрипт выполнения. Трудная часть - это сценарий прогресса; ваш длинный скрипт должен иметь возможность сообщать о своем прогрессе без прямой связи с вашим сценарием выполнения. Это может быть в виде идентификатора сеанса, сопоставленного с метрами прогресса, базой данных или проверкой того, что не закончилось.

Процесс прост:

  1. Выполнить свой сценарий и нулевой индикатор выполнения
  2. Используя AJAX, запросите свой скрипт выполнения
  3. Сценарий выполнения должен как-то проверить ход
  4. Измените индикатор выполнения, чтобы отразить значение
  5. Очистить по окончании
6
ответ дан Community 22 August 2018 в 10:10
поделиться

Вы можете использовать progressbar.js; Анимированное управление шагом выполнения и крошечную диаграмму (искровая линия)

Демо и загрузить link

enter image description here [/g1]

Использование HTML;

<div id="my-progressbar"></div>

Использование Javascript;

var progressBar;

window.onload = function(){

    progressBar = new ProgressBar("my-progressbar", {'width':'100%', 'height':'3px'});
    progressBar.setPercent(60);

}
10
ответ дан Dasrath 22 August 2018 в 10:10
поделиться
  • 1
    Это очень круто .. спасибо человеку :) – vineetv2821993 28 June 2014 в 07:29

Я попробовал простой индикатор выполнения. Он не доступен для клика, просто отображает фактический процент. Здесь есть хорошая экспликация и код: http://ruwix.com/simple-javascript-html-css-slider-progress-bar/

5
ответ дан Fricike 22 August 2018 в 10:10
поделиться

Вот мой подход, я попытался сохранить его slim:

HTML:

<div class="noload">
    <span class="loadtext" id="loadspan">50%</span>
    <div class="load" id="loaddiv">
    </div>
</div>

CSS:

.load{    
    width: 50%;
    height: 12px;
    background: url( data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAALCAYAAAC+jufvAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwAAADsABataJCQAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAAAPklEQVQYV2M48Gvvf4ZDv/b9Z9j7Fcha827Df4alr1b9Z1j4YsV/BuML3v8ZTC/7/GcwuwokrG4DCceH/v8Bs2Ef1StO/o0AAAAASUVORK5CYII=);  
    -moz-border-radius: 4px;
    border-radius: 4px;
}

.noload{
    width: 100px;    
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAALCAYAAAC+jufvAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwAAADsABataJCQAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAAANUlEQVQYVy3EIQ4AQQgEwfn/zwghCMwGh8Tj+8yVKN0d2l00M6i70XsPmdmfu6OIQJmJqooPOu8mqi//WKcAAAAASUVORK5CYII=);     
    -moz-border-radius: 4px;
    border-radius: 4px;
    border: 1px solid #999999;    
    position: relative;
}

.loadtext {
    font-family: Consolas;    
    font-size: 11px;
    color: #000000;
    position: absolute;
    bottom: -1px;
}

Fiddle: здесь

enter image description here [/g1]

4
ответ дан fubo 22 August 2018 в 10:10
поделиться

Вы можете использовать ProgressBar.js . Никаких зависимостей, простого API и не поддерживает основные браузеры.

var line = new ProgressBar.Line('#container');
line.animate(1);

Дополнительные примеры использования на демонстрационной странице.

0
ответ дан Kimmo 22 August 2018 в 10:10
поделиться

Я знаю, что следующее не работает в настоящее время, поскольку браузеры еще не поддерживают его, но, возможно, когда-нибудь это поможет:

Во время этого сообщения attr() по другим свойствам, чем content является только Рекомендацией кандидата 1. Как только он будет реализован, можно создать индикатор выполнения только с одним элементом (например, с HTML 5 <progress/>, но с лучшими параметрами стиля и текстом внутри)

<div class="bar" data-value="60"></div>

и чистым CSS

.bar {
    position: relative;
    width: 250px;
    height: 50px;
    text-align: center;
    line-height: 50px;
    background: #003458;
    color: white;
}

.bar:before {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    bottom: 0;
    width: attr(data-value %, 0); /* currently not supported */
    content: '';
    background: rgba(255, 255, 255, 0.3);
}

.bar:after {
    content: attr(data-value) "%";
}

Ниже приведена не работающая демонстрация .


1 Не могу представить, почему это не реализовано ни в одном браузере. Во-первых, я думаю, что если у вас уже есть функциональность для content, не слишком сложно это продлить (но, конечно, я действительно не знаю, если честно). Второе: вышеприведенное является лишь одним хорошим примером, показывающим, насколько мощным может быть эта функциональность. Надеюсь, они начнут поддерживать его в ближайшее время, или он даже не будет частью окончательной спецификации.

1
ответ дан Linus Caldwell 22 August 2018 в 10:10
поделиться

Если вам нужно показать и скрыть индикатор выполнения внутри вашего php и java-скрипта, выполните следующий шаг. Это полное решение, не требуется никакой библиотеки и т. д.

           //Design Progress Bar

  <style>
#spinner
{     
position: absolute;
left: 50%;
top: 50%;
background-color: white;
z-index: 100;

height: 200px;


width: 300px;
margin-left: -300px;

    /*Change your loading image here*/
   background: url(images/loading12.gif) 50% 50% no-repeat ;

}
  </style>

               //Progress Bar inside your Page

<div id="spinner" style=" display:none; ">
</div>                                

    // Button to show and Hide Progress Bar
<input class="submit" onClick="Show()" type="button" value="Show" /> 
<input class="submit" onClick="Hide()" type="button" value="Hide" /> 

            //Java Script Function to Handle Button Event     
<script language="javascript" type="text/javascript">
 function Show()
 {       
  document.getElementById("spinner").style.display = 'inline';
 }
function Hide()
 {       
  document.getElementById("spinner").style.display = 'none';
 }

</script>

Ссылка на изображение: Загрузить изображение отсюда

0
ответ дан Pir Fahim Shah 22 August 2018 в 10:10
поделиться

Инфинитивный индикатор выполнения с использованием чистого Javascript

<div id="container" style="width:100%; height:5px; border:1px solid black;">
  <div id="progress-bar" style="width:10%;background-color: green; height:5px;"></div>
</div>

<script>
  var width = 0;
  window.onload = function(e){ 
    setInterval(function () {
        width = width >= 100 ? 0 : width+5;  
        document.getElementById('progress-bar').style.width = width + '%'; }, 200);            
  }
</script>

Пример http://fiddle.jshell.net/1kmum4du/

3
ответ дан pymen 22 August 2018 в 10:10
поделиться

http://jqueryui.com/demos/progressbar/

Проверьте, что это может быть то, что вам нужно.

12
ответ дан SapphireSun 22 August 2018 в 10:10
поделиться
  • 1
    Я видел это, это блестяще, однако единственная проблема, с которой я столкнулся бы, это то, что я хочу полностью изменить его внешний вид. Который я не думаю, что вы можете. – john mossel 17 October 2010 в 04:47
  • 2
    Вы можете изменить его внешний вид с помощью CSS. – netrox 17 October 2010 в 08:22
  • 3
    JQuery UI также имеет свой собственный стиль, чтобы приблизиться к тому, что вы хотите, а затем, как уже упоминалось, сделать какие-либо дальнейшие хитрости с помощью css. – Dale 8 February 2012 в 21:55

Я использовал этот индикатор . Для получения дополнительной информации об этом вы можете пройти через эту ссылку , например, настройку, кодирование и т. Д.

<script type="text/javascript">

var myProgressBar = null
var timerId = null

function loadProgressBar(){
myProgressBar = new ProgressBar("my_progress_bar_1",{
    borderRadius: 10,
    width: 300,
    height: 20,
    maxValue: 100,
    labelText: "Loaded in {value,0} %",
    orientation: ProgressBar.Orientation.Horizontal,
    direction: ProgressBar.Direction.LeftToRight,
    animationStyle: ProgressBar.AnimationStyle.LeftToRight1,
    animationSpeed: 1.5,
    imageUrl: 'images/v_fg12.png',
    backgroundUrl: 'images/h_bg2.png',
    markerUrl: 'images/marker2.png'
});

timerId = window.setInterval(function() {
    if (myProgressBar.value >= myProgressBar.maxValue)
        myProgressBar.setValue(0);
    else
        myProgressBar.setValue(myProgressBar.value+1);

},
100);
}

loadProgressBar();
</script>

Надеюсь, это может быть полезно для somenone.

1
ответ дан surhidamatya 22 August 2018 в 10:10
поделиться

Если вы используете HTML5, лучше использовать тэг <progress>, который был недавно введен.

<progress value="22" max="100"></progress>

Или создать собственную панель выполнения.

Пример написанное в сенча

if (!this.popup) {
            this.popup = new Ext.Panel({
            floating: true,
            modal: false,
            // centered:true,
            style:'background:black;opacity:0.6;margin-top:330px;',
            width: '100%',
            height: '20%',
            styleHtmlContent: true,
            html: '<p align="center" style="color:#FFFFFF;font-size:12px">Downloading Data<hr noshade="noshade"size="7" style="color:#FFFFFF"></p>',

            });
}
this.popup.show('pop');
25
ответ дан Tejesh Alimilli 22 August 2018 в 10:10
поделиться
  • 1
    @TejeshAlimilli Поддержка HTML5 ограничена? Миллионы статей по всему Интернету, тысячи вопросов здесь. Я бы не назвал это ограниченной поддержкой ... – trejder 10 December 2014 в 10:44
  • 2
    @trejder Я вижу, что мой 2-летний комментарий сейчас не уместен, удалил его – Tejesh Alimilli 10 December 2014 в 11:05

Вы можете воссоздать индикатор выполнения, используя анимацию CSS3, чтобы улучшить его.

JSFiddle Demo

HTML

<div class="outer_div">
    <div class="inner_div">
        <div id="percent_count">

    </div>
</div>

CSS / CSS3

.outer_div {
    width: 250px;
    height: 25px;
    background-color: #CCC;
}

.inner_div {
    width: 5px;
    height: 21px;
    position: relative; top: 2px; left: 5px;
    background-color: #81DB92;
    box-shadow: inset 0px 0px 20px #6CC47D;
    -webkit-animation-name: progressBar;
    -webkit-animation-duration: 3s;
    -webkit-animation-fill-mode: forwards;
}

#percent_count {
    font: normal 1em calibri;
    position: relative;
    left: 10px;
}

@-webkit-keyframes progressBar {
    from {
        width: 5px;
    }
    to {
        width: 200px;
    }
}
0
ответ дан user2865400 22 August 2018 в 10:10
поделиться
1
ответ дан Linus Caldwell 5 November 2018 в 07:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: