Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   В лисе не работает скрипт (https://javascript.ru/forum/css-html-firefox-mizilla/12095-v-lise-ne-rabotaet-skript.html)

lokanaft 30.09.2010 08:38

В лисе не работает скрипт
 
Вот такой вот простенький скрипт:
<script type="text/javascript">
                function slide3(obj, direction, a) {
                        clearInterval(window.z);
                        counter = 0;
                        z = setInterval(function () {
                                if (a ? parseInt(obj.style.width) < 220 : parseInt(obj.style.width) > 0) {
                                        obj.style.width = parseInt(obj.style.width) + direction;
                                        counter++;
                                } else {
                                        clearInterval(z);
                                }
                        },
                        10);
                }
                var pad = document.getElementById('korz');
                pad.onmouseover = function () {
                        slide3(pad, 10, true);
                }
                pad.onmouseout = function () {
                        slide3(pad, -7, false);
                }
                </script>

должен выводить панель при наводе курсора.
Живой пример: http://shopknifes.ru

Работает везде, кроме лиса :blink: мучаюсь второй день.
Помогите найти причину)

Octane 30.09.2010 08:59

Единицы измерения надо указывать

lokanaft 30.09.2010 09:06

Сделал так:
if (a ? parseInt(obj.style.width) < 220px : parseInt(obj.style.width) > 0px) {

Вообще не работает, фаербаг ругается на ошибку. А если убрать px , то пишет:
Цитата:

Ошибка при анализе значения «width». Потерянное объявление.

Octane 30.09.2010 09:14

Что за бред, в JavaScript нет никаких px, значением CSS-свойства является строка, вот в неё и дописывайте единицы измерения.

lokanaft 30.09.2010 09:49

Спасибо вам за помощь, но всё равно не пойму.

Я написал для контейнера же style="width: 0px;" , где ещё обозначить единицу измерения?

<style>
#korz{padding-left:20px;height:150px;right:0;top:50%;background:url("http://shopknifes.ru/images/cart2.gif") left top no-repeat;position:fixed;overflow:hidden;}
#xd{background-color:#fff; padding:10px 20px; width:200px;height:150px;}
</style>
<div id="korz" style="width: 0px;">
<div id="xd">
<b>Выбрано: </b> <b><font color="red">(нет товаров)</font></b><br/>
<b>Сумма: </b> <b><font color="red">0 руб.</font></b><br/>
<br/><a href="/index.php?shopping_cart=yes">Перейти в козину</a>
</div></div>


                <script type="text/javascript">
                function slide3(obj, direction, a) {
                        clearInterval(window.z);
                        counter = 0;
                        z = setInterval(function () {
                                if (a ? parseInt(obj.style.width) < 220 : parseInt(obj.style.width) > 0) {
                                        obj.style.width = parseInt(obj.style.width) + direction;
                                        counter++;
                                } else {
                                        clearInterval(z);
                                }
                        },
                        10);
                }
                var pad = document.getElementById('korz');
                pad.onmouseover = function () {
                        slide3(pad, 10, true);
                }
                pad.onmouseout = function () {
                        slide3(pad, -7, false);
                }
                </script>

Gozar 30.09.2010 11:31

obj.style.width = parseInt(obj.style.width) + direction + 'px';

Kolyaj 30.09.2010 11:46

Если какой-то скрипт работает везде, кроме Fx, значит где-то в скрипте не указываются единицы измерения для CSS. :)

lokanaft 30.09.2010 14:26

Gozar, спасибо! Фаербаг пишет конечно в консоль про потерю, но зато работает!

Спасибо всем!:yes:

subzey 01.10.2010 11:41

Файрбаг вообще, какой-то дёрганый стал и кишками наружу в лог ошибок валится. Или это только у меня?


Часовой пояс GMT +3, время: 14:30.