Поддержка IE jquery для show () - PullRequest
       5

Поддержка IE jquery для show ()

0 голосов
/ 08 февраля 2010

All

У меня есть следующий код,

    <div id="show" display="none"></div>

    var ele=document.getElementById('show');
    ele.style.display='block';
    ele.style.padding='1px';
    ele.style.borderLeft='solid 1px #d0d0d0';
    ele.style.borderBottom='solid 1px #a0a0a0';
    ele.style.position='absolute';
    ele.style.borderTop='solid 1px #d0d0d0';
    ele.style.borderRight='solid 1px #a0a0a0';
    ele.style.backgroundColor='#ffffaa';
    ele.style.fontSize='12px';
    ele.style.fontFamily='helvetica';
    ele.style.color='black';

    $(window).mouseover(function(event) {
     $("#show").css({'top': (event.pageY)/2, 'left': '10px'});
    });

В Internet Explorer не отображается div, может кто-нибудь сказать мне, пожалуйста, изменение кода, чтобы оно работало в IE.

Спасибо ...................

Ответы [ 5 ]

1 голос
/ 08 февраля 2010

Вы еще не звонили, покажите ...

$("#show").show();
0 голосов
/ 02 мая 2012
          <script type="text/javascript">
                myFlashObject=new Object
                myFlashObject.movie="new_wheel.swf"
                myFlashObject.quality="high"
                myFlashObject.wmode="transparent"
                myFlashObject.width="960px"
                myFlashObject.height="600px"
                myFlashObject.version="6,0,0,0"
                commitFlashObject(myFlashObject, "flash")
          </script>
0 голосов
/ 08 февраля 2010

Прежде всего, переместите CSS в класс

#show {
// put it here
}

Зачем использовать JavaScript, когда вы можете сделать это с помощью CSS? Может быть, проблема IE в этой части кода JavaScript.

И твой пуст, черт, но как ты хочешь увидеть пустой div ???? Введите текст и попробуйте снова.

0 голосов
/ 08 февраля 2010

Я думаю, вам следует вывести следующую строку:

ele.style.display='block';

А затем назовите свой jQuery так:

$("#show").css({'top': 100, 'left': 10}).show();// element gets passed to callback function

Вы можете заметить, что я дал top фиксированное значение, просто чтобы вы могли определить, что элемент отображается ВСЕ. Если это так, то вы можете смело утверждать, что IE не получает значение event.pageY. Кроме того, свойства css значения пикселов определены, как указано выше, если я прав.

0 голосов
/ 08 февраля 2010

Прежде всего вы можете установить все эти стили в классе CSS.

#show { copy all your styles here }

Я думаю, что если вы хотите перемещать div в соответствии с движением мыши, то вам нужно обрабатывать mosemove, а не mouseover. Заключите вашу функцию mousemove в событие готовности документа.

$(function(){
    $(window).mousemove(function(event) {
        $("#show").css({'top': (event.pageY)/2, 'left': '10px'});
    });
});

Редактировать

Если вы хотите, чтобы div действовал как всплывающая подсказка, вы можете написать что-то вроде этого

$("#show").css({'top': event.pageY + 15, 'left': event.pageX + 15});

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...