он указывает на строчку, в которой используется созданный объект, в чем именно причина непонятно.
p.s. тестирую в ietester
Спустя 11 минут, 3 секунды (11.06.2010 - 11:09) Michael написал(а):
телепаты в отпуске. Код выкладывай - с указанием проблемной строчки.
Спустя 6 минут, 36 секунд (11.06.2010 - 11:16) Guest написал(а):
Michael
<script type=type="text/javascript">
var effects= new effects();
</script>
<div id="navstart">Главная </div>
<script type="text/javascript">
effects.changePic('navstart', 'navigatestartover.jpg','navigatestart.jpg');
</script>
РАБОТАЕТ ТОЛЬКО В ОПЕРЕ
ошибку я уже писал
строка 25, это там где начинается effects.changePic
<script type=type="text/javascript">
var effects= new effects();
</script>
<div id="navstart">Главная </div>
<script type="text/javascript">
effects.changePic('navstart', 'navigatestartover.jpg','navigatestart.jpg');
</script>
function effects ()
{
this.changePic=function (id, img1, img2, group)
{
var group=group||1;
if (group<2)
{
$id(id).onmouseover="this.style.backgroundImage='url(../images/"+img1+")'";
$id(id).onmouseout="this.style.backgroundImage='url(../images/"+img2+")'";
}
else
{
for(var i=1; i<=group;i++){
$id(id+i).onmouseover="this.style.backgroundImage='url(../images/"+img1+")'";
$id(id+i).onmouseout="this.style.backgroundImage='url(../images/"+img2+")'" }
}
}
}
function $id(id){
return document.getElementById(id)}
РАБОТАЕТ ТОЛЬКО В ОПЕРЕ
ошибку я уже писал
строка 25, это там где начинается effects.changePic
Спустя 1 минута, 44 секунды (11.06.2010 - 11:18) Guest написал(а):
на верху опечатка с type
Спустя 2 минуты, 42 секунды (11.06.2010 - 11:20) Basili4 написал(а):
НЕ используй одинаковые имена для переменных и функций var effects= new effects();
Спустя 2 минуты, 53 секунды (11.06.2010 - 11:23) Guest написал(а):
Basili4
это так существенно? поменял имя класса, все равно работает только в опере(хром и сафари не пробовал), но ff и ie никак
это так существенно? поменял имя класса, все равно работает только в опере(хром и сафари не пробовал), но ff и ie никак
Спустя 9 минут, 42 секунды (11.06.2010 - 11:33) Guest написал(а):
if (group<2)
{
$id(id).setAttribute('onmouseover',"this.style.backgroundImage='url(../images/"+img1+")'");
$id(id).setAttribute('onmouseout',"this.style.backgroundImage='url(../images/"+img2+")'");
}
else
{
for(var i=1; i<=group;i++){
$id(id+i).setAttribute('onmouseover',"this.style.backgroundImage='url(../images/"+img1+")'");
$id(id+i).setAttribute('onmouseout',"this.style.backgroundImage='url(../images/"+img2+")'");}
}
вот так заработало еще и в ie8 и ff, но ie6,7 до сих пор тупят
Спустя 2 минуты, 53 секунды (11.06.2010 - 11:36) Гость_Michael написал(а):
onmouseover="this.
- неверно onmouseover должна быть функцией, т.е. :
- неверно onmouseover должна быть функцией, т.е. :
.onmouseover = function(){
// ...
}
Спустя 18 минут, 47 секунд (11.06.2010 - 11:55) Guest написал(а):
Гость_Michael
большое спасибо, все четко
и еще вопрос можно.
почему то если делаю вот так:
<div id="id1" class="ratesover" onmouseover="vote.rateOver(this.id)" </div>
<div id="id2" class="ratesover" onmouseover="vote.rateOver(this.id)" </div>
то если вставляю в событие функцию объекта, то в ie не работает.
this.rateOver = function (id)
{
this.rate=id.substr(-1,1);
for (i=this.rate;i>0;i--){
$id('id'+i).style.backgroundImage="url(../images/rateover.jpg)";}
}
большое спасибо, все четко
и еще вопрос можно.
почему то если делаю вот так:
<div id="id1" class="ratesover" onmouseover="vote.rateOver(this.id)" </div>
<div id="id2" class="ratesover" onmouseover="vote.rateOver(this.id)" </div>
то если вставляю в событие функцию объекта, то в ie не работает.
this.rateOver = function (id)
{
this.rate=id.substr(-1,1);
for (i=this.rate;i>0;i--){
$id('id'+i).style.backgroundImage="url(../images/rateover.jpg)";}
}
Спустя 9 минут, 21 секунда (11.06.2010 - 12:04) Гость_Michael написал(а):
Что не работает ? id нормально в функцию передается - проверил.
Спустя 1 минута, 24 секунды (11.06.2010 - 12:05) Guest написал(а):
Гость_Michael
рисунок не меняется, в остальных браузерах - меняется
рисунок не меняется, в остальных браузерах - меняется
Спустя 37 минут, 21 секунда (11.06.2010 - 12:43) Guest написал(а):
дописал alert (this.rate);
в ie выводит "r"
то есть this.rate=id.substr(-1,1) ie выполняет как-то по-своему,
как можно забрать последнюю букву с id, чтобы ie нормально понимал???
в ie выводит "r"
то есть this.rate=id.substr(-1,1) ie выполняет как-то по-своему,
как можно забрать последнюю букву с id, чтобы ie нормально понимал???
Спустя 16 минут, 30 секунд (11.06.2010 - 12:59) Guest написал(а):
я фигею от ie
id.substr(id.length-1,1);
просто -1 он не понимает оказывается))
id.substr(id.length-1,1);
просто -1 он не понимает оказывается))