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


Система IP-видеонаблюдения "Линия". Скачать бесплатную демо-версию для 16 камер. НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

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(){})() ) ()"

Всего записей: 6494 | Зарегистр. 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]" как в опере, в лисе выводится "Окно"

Всего записей: 6494 | Зарегистр. 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 сразу пачку аргументов ?

Всего записей: 6494 | Зарегистр. 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 ?

Всего записей: 6494 | Зарегистр. 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 строки, номер столбца) и реагировать соответственно.

Всего записей: 6494 | Зарегистр. 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
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В результатах поиска по картинкам в гуле при прокручивании страницы картинки догружаются,
мне надо выполнять скрипт каждый раз при этой подгрузке.
 
Как отследить это событие?

Всего записей: 865 | Зарегистр. 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
чтобы он удалял из результатов поиска все картинки с указанных доменов.

Всего записей: 865 | Зарегистр. 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 не предлагать. Вешать его на сайт из двух страниц, нет смысла.

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

Всего записей: 954 | Зарегистр. 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

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

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2017

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru