Используя эту ссылку, я создал погрузочные бары DIV с HTML и CSS
http://www.paulund.co.uk/css-loading-spinnersДинамически сделать CSS класс
Однако, теперь я хочу использовать JS, чтобы создать такую полосу загрузки; Я хочу использовать функцию, определяющую высоту, ширину и другие атрибуты css, и определяет, сколько барных разделов используется для панели загрузки. Я понимаю, что есть много библиотек, которые делают такие, но я бы предпочел не использовать их на данный момент, пока я все еще изучаю JS/jQuery/CSS.
Что должно быть добавлено к элементу стиля будет:
.loading{
width: 100px;
height: 100px;
margin: 30px auto;
position: relative;
}
.loading.bar div{
width: 10px;
height: 30px;
border-radius:5px;
background: black;
position: absolute;
top: 35px;
left: 45px;
opacity: 0.05;
-webkit-animation: fadeit 1.1s linear infinite;
animation: fadeit 1.1s linear infinite;
}
.loading.bar div:nth-child(1){
-webkit-transform: rotate(0deg) translate(0, -30px);
transform: rotate(0deg) translate(0, -30px);
-webkit-animation-delay:0s;
animation-delay:0s;
}
Где я должен был бы определить ширину, высоту, каждый п-й ребенок ...
Так что мой вопрос является следуя даже в правильном направлении? Кроме того, имеет ли смысл делать это? Я имею в виду, я хочу учиться; однако я не хочу изучать что-то, что кажется ненужным.
<script>
function addSpinner(bar_amount, time_incr, height, width, margin){
//
//$('head').removeClass('load');
$('<style>.load{width: ' + width + 'px; height: ' + height + 'px; margin: ' + margin + 'px auto; position: relative;}</style>').append('head');
//
$('<style>.load.brick div{width: 10px; height: 30px; border-radius:5px; background: black; position: absolute; top: 35px; left: 45px; opacity: 0.05; -webkit-animation: fadeit 1.1s linear infinite; animation: fadeit 1.1s linear infinite;}</style>').append('head');
//
for(var i = 0; i < bar_amount; ++i){
var degree = i/bar_amount * 360;
var delay = i * time_incr;
window.alert('<style>.load.brick div:nth-child(' + (i + 1) + '){ -webkit-transform: rotate(' + degree + 'deg) translate(0, -30px); transform: rotate(' + degree + 'deg) translate(0, -30px); -webkit-animation-delay:' + delay + 's; animation-delay:' + delay + ';</style>');
//
$('<style>.load.brick div:nth-child(' + (i + 1) + '){-webkit-transform: rotate(' + degree + 'deg) translate(0, -30px); transform: rotate(' + degree + 'deg) translate(0, -30px); -webkit-animation-delay:' + delay + 's; animation-delay:' + delay + ';</style>').append('head');
}
var spinner_div = $('<div class="load brick"/>');
for(var i = 0; i < bar_amount; ++i){
spinner_div.append('<div/>');
}
return spinner_div;
}
$(document).ready(function(){
var new_spinner = addSpinner(8, 0.13, 100, 100, 30);
$('body').append(new_spinner);
});
</script>
Рад помочь, вы можете пометить его как правильный, если это ответили вашу проблему? Спасибо :) – DoubleA