Javascript в блоках

Главные вкладки

Аватар пользователя pyshustik pyshustik 4 ноября 2009 в 23:46

По мере своего развития и углубления своих познаний столкнулся с вот такой незадачей, у меня не получается вставить javascript в блок, подскажите пожалуста, в чем я набочинил, далее код скрипта и блоках, формат ввода php cod.

<script type="text/javascript" language="javascript">
var d = document;
var offsetfromcursorY=15 // y offset of tooltip
var ie=d.all && !window.opera;
var ns6=d.getElementById && !d.all;
var tipobj,op;
         
function tooltip(el,txt) {
    tipobj=d.getElementById('mess');
    tipobj.innerHTML = txt;
    op = 0.1;  
    tipobj.style.opacity = op;
    tipobj.style.visibility="visible";
    el.onmousemove=positiontip;
    appear();
}
 
function hide_info(el) {
    d.getElementById('mess').style.visibility='hidden';
    el.onmousemove='';
}
 
function ietruebody(){
return (d.compatMode && d.compatMode!="BackCompat")? d.documentElement : d.body
}
 
function positiontip(e) {
    var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
    var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
    var winwidth=ie? ietruebody().clientWidth : window.innerWidth-20
    var winheight=ie? ietruebody().clientHeight : window.innerHeight-20
     
    var rightedge=ie? winwidth-event.clientX : winwidth-e.clientX;
    var bottomedge=ie? winheight-event.clientY-offsetfromcursorY : winheight-e.clientY-offsetfromcursorY;
 
    if (rightedge < tipobj.offsetWidth)  tipobj.style.left=curX-tipobj.offsetWidth+"px";
    else tipobj.style.left=curX+"px";
 
    if (bottomedge < tipobj.offsetHeight) tipobj.style.top=curY-tipobj.offsetHeight-offsetfromcursorY+"px"
    else tipobj.style.top=curY+offsetfromcursorY+"px";
}
 
function appear() {
    if(op < 1) {
        op += 0.1;
        tipobj.style.opacity = op;
        tipobj.style.filter = 'alpha(opacity='+op*100+')';
        t = setTimeout('appear()', 30);
    }
}
</script>
<h2 onmouseover="tooltip(this,'Это просто пример всплывающей<br /> подсказки JavaScript!')" onmouseout="hide_info(this)">
It is just JavaScript Tooltip example!</h2>

Результат http://kharkov-compik-ru.tut.su/ текст появился, но никакого ефекта, всплывающая подсказка не выводиться (

Комментарии

Аватар пользователя pyshustik pyshustik 5 ноября 2009 в 13:23

Пробовал как Full html так и PHP-code результат появляется текст но java не работает, может стоит допоплнительные модули подержки javascripta ставить*?

Аватар пользователя pyshustik pyshustik 5 ноября 2009 в 14:59

Возможно скрипт нужно вставлять не в блок а в отдельный файл и в виде кода вставлять? Пожалуйста подскажите как вставить элементарный код, дальше легче разобраться будет.

Аватар пользователя olk olk 5 ноября 2009 в 15:28

а если так (формат ввода естествено PHP)
<?php
$js = << подсказки JavaScript!\')" onmouseout="hide_info(this)">
It is just JavaScript Tooltip example!

';
drupal_add_js($js,'inline','footer');
return $output;
?>

Аватар пользователя pyshustik pyshustik 5 ноября 2009 в 16:33

Снова выводиться строка "It is just JavaScript Tooltip example!", но при наведении на неё абсолютно ничего не происходит, такое ощущение что рубильник java-script выключен.
Отладчик iexplorer выдает следующее
tipobj.innerHTML = txt; 'tipobj' - есть null или не является объектом

Аватар пользователя olk olk 6 ноября 2009 в 11:10

Ну так это уже ошибки внутри скрипта, т.е. скрипт вставился ...
Ну а разбираться с самим скриптом нет ни какого желания (к тому же, есть модули в друпал, которые реализуют всплывающие подсказки, зачем же изобретать велосипед)