15.04.2010, 11:56
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от denisok82
|
можно ли создавать такие глобальные переменные или нет?
|
А почему нет?
|
|
15.04.2010, 17:31
|
Аспирант
|
|
Регистрация: 10.04.2010
Сообщений: 34
|
|
Kolyaj,
Потому что почему-то не работает, если их объявить глобально. Объясните пожалуйста, если не сложно, что не так.
|
|
15.04.2010, 17:37
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Потому что на момент объявления переменных этих узлов ещё нет в DOM-дереве.
|
|
16.01.2011, 05:26
|
Новичок на форуме
|
|
Регистрация: 04.10.2010
Сообщений: 4
|
|
еще один вариант
if ( typeof( document.getElementsByClassName ) != "function" )
document.getElementsByClassName = function( classname, tagname ) {
var tags = tagname ? document.getElementsByTagName( tagname ) :
( document.all ? document.all : document.getElementsByTagName( "*" ) );
console.log( classname, tagname, typeof( tags ) );
var e;
var r = [];
for ( var i = 0; i < tags.length; i++ ) {
e = tags[i].className;
var s = e.split( ' ' ).some( function( el, ind, ar ) { return (el == classname); } );
if ( typeof( e ) == 'string' && e && s )
r.push( tags[i] );
}
return r;
};
|
|
16.02.2012, 12:03
|
Новичок на форуме
|
|
Регистрация: 16.02.2012
Сообщений: 5
|
|
пожалуйста, разъясните начинающему конструкцию result = [], i,j в коде. Это определение пустого массива? А что такое i,j здесь?
|
|
16.02.2012, 12:38
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от avts
|
пожалуйста, разъясните начинающему конструкцию result = [], i,j в коде. Это определение пустого массива? А что такое i,j здесь?
|
Обычно перед result = [], i,j ставят var, тоесть:
var result = [], i,j
Определяет переменные внутри текущего scope
|
|
21.04.2013, 22:50
|
Новичок на форуме
|
|
Регистрация: 21.04.2013
Сообщений: 1
|
|
Манипуляция стилями div'ов через JS
Подскажите, пожалуйста, как я могу изменять стили определенных классов, через обращение к другим по JS скрипту?
с участием 2х элементов можно было бы ограничится тривиальным псевдоклассом :hover, но суть такая:
Допустим у нас на сайте 3 элемента и, соответственно, 3 класса к ним:
<div class="icon"></div>
<div class="hint1"></div>
<div class="hint2"></div>
в стиле .hint2 {display:none;}
При наведении на div "icon" к "hint1" должно присваиваться display:none, а у "hint2" это значение обнулять display:inherit например.
Другими словами, при наведении на красный кубик в окошке появляется надпись "это красный кубик", а при наведении на зелёный кубик - "это зелёный кубик".
т.к. в js я не силён, а знаю только html|css3 (на хорошем уровне)
Своими силами пытался найти ответ, наткнулся на getElementsByClassName но толком не могу разобраться как манипулировать стилями..
|
|
21.04.2013, 23:01
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
<style>
.icon{
width:50px;
height:50px;
background:red;
}
.hint1{
display:none;
}
.icon:hover ~ .hint1{
display:block;
}
.icon:hover ~ .hint2{
display:none;
}
</style>
<div class="icon"></div>
<div class="hint1">hint1</div>
<div class="hint2">hint2</div>
Так чтоли?
|
|
22.04.2013, 00:36
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
|
|
28.09.2015, 09:55
|
Новичок на форуме
|
|
Регистрация: 28.09.2015
Сообщений: 1
|
|
<div class='featured-view'></div>
<div class='latest-view'></div>
<div class='topten-view'></div>
<script type="text/javascript">
function switchDIV() {
var Elements1 = document.getElementsByClassName('featured-view').innerHTML;
Elements2 = document.getElementsByClassName('topten-view').innerHTML;
Elements3 = '';
Elements1 = Elements3;
Elements2 = Elements1;
Elements3 = Elements2;
}
</script>
Подскажите пожалуйста в чем проблема!!! Нужно поменять местами 1 и 3й элементы
|
|
|
|