Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.11.2014, 12:24
Интересующийся
Отправить личное сообщение для Vladimir93 Посмотреть профиль Найти все сообщения от Vladimir93
 
Регистрация: 08.11.2014
Сообщений: 27

Передача параметров JS в HTML
Добрый день. Такой вопрос. У меня в файле JS есть массив массивов со значениями стилей. Как в HTML-документе div-ам присваивать значения из этого массива.(То есть ссылаться из JS файла в HTML). На переменную upDateTime не обращаем внимание. Интересно, как присвоить цвет диву, и высоту заданную в процентах.
<div align="center" id="red"></div>


var params = {
    lines: [
        {
            background: '#00F',
            updateTime: 1000,
            elements: [{
                background: 'yellow',
                width: 25
            },
                {
                    background: 'green',
                    width: 50
                },
                {
                    background: 'red',
                    width: 25
                }
    ]
 },
        {
            background: 'yellow',
            updateTime: 1000,
            elements: [{
                background: '#00F',
                width: 25
            },
                {
                    background: '#00F',
                    width: 50
                },
                {
                    background: '#00F',
                    width: 25
                }]
        }
        ,
        {
            background: '#00F',
            updateTime: 1000,
            elements: [{
                background: '#00F',
                width: 25
            },
                {
                    background: '#00F',
                    width: 50
                },
                {
                    background: '#00F',
                    width: 25
                }]
        }
]
}
var a = params.lines.length;
lines: [{background: 'red'}]
function createDiv1(){
    for (var i = 0; i < params.lines.length; i++){

    }
}
document.getElementById('red').style.height = 100/a;
document.getElementById('blue').style.height = 100/apx;
document.getElementById('green').style.height = 100/apx;

document.getElementById('red').style.backgroundColor = params.lines[0].background;
Ответить с цитированием
  #2 (permalink)  
Старый 10.11.2014, 13:15
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,201

Сообщение от Vladimir93
Интересно, как присвоить цвет диву, и высоту заданную в процентах.
Как-то так...

<div align="center" id="red"></div>
<script>
document.getElementById('red').style.backgroundColor='red';
document.getElementById('red').style.height='50%';
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 10.11.2014, 15:15
Интересующийся
Отправить личное сообщение для Vladimir93 Посмотреть профиль Найти все сообщения от Vladimir93
 
Регистрация: 08.11.2014
Сообщений: 27

Может я что-то упускаю...вот есть див с id='red' я прописываю
document.getElementById('red').style.height = '33.3333333%';
document.getElementById('red').style.backgroundColor = params.lines[0].background;
document.getElementById('red').style.width = '100%';


по идее должны появится красная полоса сверху на всю ширину экрана и на треть в высоту. Файл CSS не описан. То есть, как я понимаю - этим JS-кодом хочу заменить CSS файл.
#red {
    min-width: 100%;
    min-height: 33.333333333333%;
    background-color: red;

}

Но с CSS работает, а в Javascript нет.
Ответить с цитированием
  #4 (permalink)  
Старый 10.11.2014, 16:05
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

1. Незачем трижды заново находить элемент. Найди один раз, присвой переменной и опирируй уже с этой переменной.
2. CSS-свойствам min-width и min-height соответствуют свойства minWidth и minHeight объекта style.
3. Посмотри в консоль ошибок.

Последний раз редактировалось Erolast, 10.11.2014 в 16:09.
Ответить с цитированием
  #5 (permalink)  
Старый 10.11.2014, 16:44
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,201

Сообщение от Vladimir93
document.getElementById('red').style.backgroundColor = params.lines[0].background;
Для понятия работоспособности этой строки нужно бы знать чему равняется
params.lines[0].background

...
Ответить с цитированием
  #6 (permalink)  
Старый 10.11.2014, 16:45
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,201

Сообщение от Vladimir93
Может я что-то упускаю...
Как минимум то, что я делаю готовый пример... А ты кидаешь какие-о куски, которые даже запустить тут нельзя.
Ответить с цитированием
  #7 (permalink)  
Старый 10.11.2014, 21:19
Интересующийся
Отправить личное сообщение для Vladimir93 Посмотреть профиль Найти все сообщения от Vladimir93
 
Регистрация: 08.11.2014
Сообщений: 27

Сообщение от ksa Посмотреть сообщение
Как минимум то, что я делаю готовый пример... А ты кидаешь какие-о куски, которые даже запустить тут нельзя.
Спасибо. Я вижу, что он работает. Не знаю, как здесь прекрепить зеленый треуголник на выполнение. Но..выкладываю весь код..Ткните носом почему он не работает
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script src="JS.js"></script>
    <link rel="stylesheet" type="text/css" href="CSS.css">
</head>
<body>
<div align="center" id="red"></div>
<div align="center" id="blue"></div>
<div align="center" id="green"></div>

</body>
</html>

var params = {
    lines: [
        {
            background: 'red',
            updateTime: 1000,
            elements: [{
                background: 'yellow',
                width: 25
            },
                {
                    background: 'green',
                    width: 50
                },
                {
                    background: 'red',
                    width: 25
                }
    ]
 },
        {
            background: 'yellow',
            updateTime: 1000,
            elements: [{
                background: '#00F',
                width: 25
            },
                {
                    background: '#00F',
                    width: 50
                },
                {
                    background: '#00F',
                    width: 25
                }]
        }
        ,
        {
            background: '#00F',
            updateTime: 1000,
            elements: [{
                background: '#00F',
                width: 25
            },
                {
                    background: '#00F',
                    width: 50
                },
                {
                    background: '#00F',
                    width: 25
                }]
        }
]
}
var a = params.lines.length;
lines: [{background: 'red'}]

var b = params.lines.parse();
document.getElementById('red').style.height = '33%'
document.getElementById('red').style.backgroundColor = 'red';
document.getElementById('red').style.width = '100%';

#blue {
    min-width: 100%;
    min-height: 33.333333333333%;
    background: blue;
}
#green {
    min-width: 100%;
    min-height: 33.333333333333%;
    background: brown;
}
#red1 {
    min-width: 25%;
    background: greenyellow;
}

html, body {height: 100%}
Ответить с цитированием
  #8 (permalink)  
Старый 11.11.2014, 07:35
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Сообщение от Erolast
1. Незачем трижды заново находить элемент. Найди один раз, присвой переменной и опирируй уже с этой переменной.
Можно по круче.

with(document.getElementById('red').style) {
    height = '33%'
    backgroundColor = 'red';
    width = '100%';
}


А ещё круче - через класс.
Ответить с цитированием
  #9 (permalink)  
Старый 11.11.2014, 08:21
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,201

Сообщение от Vladimir93
Не знаю, как здесь прекрепить зеленый треуголник на выполнение. Но..выкладываю весь код..
Это опять куски... Вот как нужно

<!DOCTYPE html>
<html>
<head>
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
#blue {
    min-width: 100%;
    min-height: 33.333333333333%;
    background: blue;
}
#green {
    min-width: 100%;
    min-height: 33.333333333333%;
    background: brown;
}
#red1 {
    min-width: 25%;
    background: greenyellow;
}
html, body {height: 100%}
</style>
<script type='text/javascript'>
var params = {
    lines: [
        {
            background: 'red',
            updateTime: 1000,
            elements: [{
                background: 'yellow',
                width: 25
            },
                {
                    background: 'green',
                    width: 50
                },
                {
                    background: 'red',
                    width: 25
                }
    ]
 },
        {
            background: 'yellow',
            updateTime: 1000,
            elements: [{
                background: '#00F',
                width: 25
            },
                {
                    background: '#00F',
                    width: 50
                },
                {
                    background: '#00F',
                    width: 25
                }]
        }
        ,
        {
            background: '#00F',
            updateTime: 1000,
            elements: [{
                background: '#00F',
                width: 25
            },
                {
                    background: '#00F',
                    width: 50
                },
                {
                    background: '#00F',
                    width: 25
                }]
        }
]
}
var a = params.lines.length;
lines: [{background: 'red'}]

var b = params.lines.parse();
document.getElementById('red').style.height = '33%'
document.getElementById('red').style.backgroundColor = 'red';
document.getElementById('red').style.width = '100%';
</script>
</head>
<body> 
<div align="center" id="red"></div>
<div align="center" id="blue"></div>
<div align="center" id="green"></div>
</body>
</html>

Сообщение от Vladimir93
Ткните носом почему он не работает
Там ошибка в 80-той строке...
Цитата:
Uncaught exception: TypeError: 'params.lines.parse' is not a function
Сообщение от Vladimir93
lines: [{background: 'red'}]
И вот это - фигня какая-то...

Последний раз редактировалось ksa, 11.11.2014 в 08:24.
Ответить с цитированием
  #10 (permalink)  
Старый 11.11.2014, 09:58
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Сообщение от Ruslan_xDD Посмотреть сообщение
with(document.getElementById('red').style) {
    height = '33%'
    backgroundColor = 'red';
    width = '100%';
}
Опасно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
checkbox (html) + js volanddd Общие вопросы Javascript 0 06.07.2014 18:40
Не вызывается функция JS в HTML all4me1982 Общие вопросы Javascript 6 04.04.2014 20:08
Передача нескольких параметров JS tenatin Общие вопросы Javascript 8 06.03.2014 16:37
как из js передать параметр в html wins Общие вопросы Javascript 6 22.12.2013 15:56
Передача переменной в функцию из HTML тега A в $ CjEcho AJAX и COMET 2 28.07.2010 11:52