Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

Открыть новую тему     Написать ответ в эту тему

Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wwwww
потому что у вас свойства прописаны не в аттрибуте style данного элемента
для такой ситуации нужно запрашивать css свойства "вычисленные" браузером

Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
<html>  
<head>  
<title> New Document </title>  
<style>  
#descr {visibility:hidden;}  
</style>  
</head>  
 
<body>  
<div id="descr">asdasd</div>  
<script>  
var el = document.getElementById("descr");
var style = el.currentStyle || window.getComputedStyle(el, null);
alert(style.visibility)  
</script>  
</body>  
</html>


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:00 07-08-2012 | Исправлено: Cheery, 00:01 07-08-2012
wwwww



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
для такой ситуации нужно запрашивать css свойства "вычисленные" браузером  

 
сразу же возникает вопрос - как?

Всего записей: 323 | Зарегистр. 26-12-2003 | Отправлено: 10:34 07-08-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wwwww

Цитата:
сразу же возникает вопрос - как?

ну вы вообще уже.. выше посмотрите

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 10:42 07-08-2012
wwwww



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, чего-то я затормозил. Вроде вычисляется, но как-то странно

Код:
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
<html>  
<head>  
<title> New Document </title>  
<style>  
 
#descr {visibility:hidden;}
div:hover #descr{visibility:visible;}
 
</style>  
</head>  
 
<body>
<div onmouseout="info()">наведи
<div id="descr">asdasd</div>  
</div>
<script>  
function info(){
var el = document.getElementById("descr");
var style = el.currentStyle || window.getComputedStyle(el, null);
if(style.visibility=="hidden") el.innerHTML="пусто";
}
</script>  
</body>  
</html>  
 
 

Собственно говоря что хочу - после того как мы убираем мышь с надписи наведи и окно descr закрывается текст в нем менялся. Но чего-то не выходит

Всего записей: 323 | Зарегистр. 26-12-2003 | Отправлено: 11:15 07-08-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wwwww

Цитата:
Но чего-то не выходит

а точнее?  
http://jsfiddle.net/ZbWGD/

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:20 07-08-2012
wwwww



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
пусто появляется только когда мы уходим с "наведи" в никуда. А нужно чтобы и при уходе с "asdasd" в никуда появлялось "пусто".

Всего записей: 323 | Зарегистр. 26-12-2003 | Отправлено: 00:15 08-08-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wwwww

Цитата:
А нужно чтобы и при уходе с "asdasd" в никуда появлялось "пусто".

ну так цепляйте на него обработчик onmouseout


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:24 08-08-2012
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
почему так работает:

Код:
var $$$ = new ( (function(){
    function init() {
        this.initialize();
    }
    init.prototype = {
        initialize: function() {
            var that = this;
            this.UserAgent = {
                browser: (!+'\v1') ? 'IE' : '', // true только в IE
                browserVersion: 'xxx',
                browserVersionMinor: ''
            }
        }
    };
    return init;
})() )();
echo ($$$.UserAgent.browserVersion)

а так нет

Код:
var $$$ = new (function(){
    function init() {
        this.initialize();
    }
    init.prototype = {
        initialize: function() {
            var that = this;
            this.UserAgent = {
                browser: (!+'\v1') ? 'IE' : '', // true только в IE
                browserVersion: 'xxx',
                browserVersionMinor: ''
            }
        }
    };
    return init;
})()();
echo ($$$.UserAgent.browserVersion)

т.е. приходится вместо "(function(){})() ()" писать "( (function(){})() ) ()"

Всего записей: 6678 | Зарегистр. 14-02-2005 | Отправлено: 11:27 10-11-2012 | Исправлено: unreal666, 11:28 10-11-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666

Цитата:
(function(){})() ()

а что бы тут означали две пары скобок в конце?

Цитата:
( (function(){})() ) ()

как раз правильно группирует
то есть вы создаете объект из функции и сразу его инициализируете
 
var t = function() {
}
создает функцию-объект
 
var t = (function() {
})();
выдает сразу результат выполнения функции в переменную t
 
var t = new ( (function() {
})())();
создает сразу объект из того, что возвращает функция

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 11:58 10-11-2012 | Исправлено: Cheery, 12:06 10-11-2012
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а что бы тут означали две пары скобок в конце?

ну, тоже что и в 1-ом случае, т.е. выполнение ф-и init. Она и так выполняется, только выдает ошибку об отсутствии ф-и this.initialize().
 
ЗЫ.
Походу после 1-го "()" внешние скобки "раскрываются" и все ф-и/переменные, бывшие во внешней ф-и, выпадают из области видимости ф-и init.
 
ЗЫ2.
Потестил немного по-другому. После раскрытия внешних скобок во 2-ом варианте this указывает на window.
 
ЗЫ3.
Чего-то в Firefox намудрили. Даже результат alert(window) перевели на русский. Т.е. вместо "[object Window]" как в опере, в лисе выводится "Окно"

Всего записей: 6678 | Зарегистр. 14-02-2005 | Отправлено: 12:18 10-11-2012 | Исправлено: unreal666, 12:36 10-11-2012
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Посмотрел тут кусок кода скрипта useragents.js с сайта html5test.com.
Там есть такое  

Цитата:
var UserAgents = (function(){
...
var Detected = function() { this.initialize.apply(this, arguments) };
    Detected.prototype = {
        initialize: function(ua, options) {
...
        }
    }
...
    return Detected;
})();

Чего-то не понял, чем "this.initialize.apply(this, arguments)" в данном случае отличался бы от просто "this.initialize(arguments)" ?
 
Добавлено:
PS.
Или это сделано только для того, чтобы передать в initialize сразу пачку аргументов ?

Всего записей: 6678 | Зарегистр. 14-02-2005 | Отправлено: 11:16 14-11-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666

Цитата:
в данном случае отличался бы от просто

в данном случае ua = arguments[0], а options = arguments[1];
чего не было бы в вашем варианте.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 11:40 14-11-2012
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
можно ли с помощью JS определить, поддерживает ли объект document событие DOMContentLoaded ?

Всего записей: 6678 | Зарегистр. 14-02-2005 | Отправлено: 13:40 20-11-2012 | Исправлено: unreal666, 13:40 20-11-2012
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть таблица размерностью 12 столбцов x 135 строк.
Нужно повесить обработчик(и) на каждую ячейку первых 6-ти столбцов и при наведении мышки на эти ячейки выводить соответствующую фигню (для каждой ячейки свою). Каждая строка имеют свой тег ID.
 
Вопрос: что для браузера будет выполняться легче:
- повесить на каждую нужную ячейку события onmouseover/onmouseout
- повесить единственный "прослушивальщик" на таблицу, а при срабатывании событий (только непонятно какого события) определять координаты ячейки (ID строки, номер столбца) и реагировать соответственно.

Всего записей: 6678 | Зарегистр. 14-02-2005 | Отправлено: 19:32 28-11-2012 | Исправлено: unreal666, 19:37 28-11-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666

Цитата:
повесить единственный "прослушивальщик" на таблицу, а при срабатывании событий (только непонятно какого события) определять координаты ячейки (ID строки, номер столбца) и реагировать соответственно.

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

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:46 28-11-2012
NORIO



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В результатах поиска по картинкам в гуле при прокручивании страницы картинки догружаются,
мне надо выполнять скрипт каждый раз при этой подгрузке.
 
Как отследить это событие?

Всего записей: 875 | Зарегистр. 18-12-2004 | Отправлено: 03:30 15-12-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NORIO

Цитата:
Как отследить это событие?

выводится где? на вашей странице или же на странице гугла?

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 03:41 15-12-2012
NORIO



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
на странице гугла
 
изучаю javascript  
хочу сделать юзер скрипт для опера или greasemonkey
чтобы он удалял из результатов поиска все картинки с указанных доменов.

Всего записей: 875 | Зарегистр. 18-12-2004 | Отправлено: 05:40 15-12-2012 | Исправлено: NORIO, 05:41 15-12-2012
DarkSmoke



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день
Нужно разукрасить четные li другим цветом

Код:
<div id="menu">
    <ul>
        <li><a href="#">ДЕТИ</a></li>
        <li><a href="#">АРТИСТЫ</a></li>
        <li><a href="#">ПОРТРЕТ</a></li>
        <li><a href="#">СВАДЬБА</a></li>
        <li><a href="#">РАЗНОЕ</a></li>
    </ul>
</div>

Как это сделать с помощью яваскрипта? Хочу именно яво скриптом что бы было кробраузерно. jQuery не предлагать. Вешать его на сайт из двух страниц, нет смысла.

----------
Абонентское обслуживание и ремонт компьютеров в Днепропетровске

Всего записей: 962 | Зарегистр. 08-10-2005 | Отправлено: 21:34 20-12-2012 | Исправлено: DarkSmoke, 21:37 20-12-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DarkSmoke

Цитата:
jQuery не предлагать.

ну.. в наше время писать на native js, учитывая насколько просто можно написать в jQuery, не всегда удобно
через css3 не хотите?

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:02 20-12-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

Рейтинг.ru