Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: JS для Оперы
 
 автор: Николай2357   (30.06.2008 в 21:25)   письмо автору
 
 

Здравствуйте.
Не пойму, вот, к примеру мне нужно обработать радиогруппу.
var ff = ""
for(i=0; i< document.form.radio.length; i++){
    if (document.form.item("radio", i).checked){
    ff=document.form.item("radio", i).value; break;
  }
}
document.form1.pole1.value=ff;

Объясните пожалуйста, почему это безобразие работает в IE и наотрез отказывается работать в Опере?
Спасибо.

   
 
 автор: Antohins   (01.07.2008 в 17:53)   письмо автору
 
   для: Николай2357   (30.06.2008 в 21:25)
 

У формы имя «form»?
«radio» — имя радио кнопок?
Если да — давайте весь код.

   
 
 автор: Николай2357   (01.07.2008 в 22:10)   письмо автору
 
   для: Николай2357   (30.06.2008 в 21:25)
 

С этим вроде разобрался, Опера item нелюбит. Теперь другая проблема. Вот что должно получиться: http://test.inkz.ru/test4.html
А вот так я это сделал:
var hrr = ""
var start=0;
function Hrr(start){
    if(start==1){
    hrstart=setInterval("Hrr_config();",200);
}
    else{
        clearInterval(hrstart);
  }
}

function Hrr_config(){
    
for(i=1; i<4; i++){
    if (document.getElementById("hrr"+ i).checked){
    hrr=document.getElementById("hrr"+ i).value; break;
  }
}
hgt=form.hrsz.value+'px';
wdt=form.hrwidth.value+'%';
document.getElementById("prim_hr").style.height=hgt;
document.getElementById("prim_hr").align=hrr;
document.getElementById("prim_hr").style.width=wdt;
}

Наворотил наверное, но проще не умею.
В IE все на ура, в Лисе не смотрел, он для этого сайта не нужен, в Опере вроде работает, кроме одного косячка. Линия не позиционируется, пока не изменишь какое нибудь значение. Любое. В оригинале еще цвет меняется, тоже реагирует. Какая тут связь, не могу разобраться.
Спасибо.

   
 
 автор: vito   (02.07.2008 в 01:52)   письмо автору
 
   для: Николай2357   (01.07.2008 в 22:10)
 


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Линия</title>
<meta content="text/html; charset=windows-1251" />
<script type="text/javascript" language="javascript">
var hrr;
function Hrr_config(){
    var form=document.form;
    for(i=0;i<form.length;i++){
        if (form.elements[i].checked){
        hrr=form.elements[i].value;
        }
    }
    var hgt=form.hrsz.value+'px';
    var wdt=form.hrwidth.value+'%';
    var prim_hr=document.getElementById("prim_hr");
    document.getElementById("m2").style.textAlign=hrr;
    prim_hr.style.height=hgt;
    prim_hr.style.width=wdt;
}

function my(val){
    document.getElementById("div_hr").style.display=val;
    document.getElementById("xx").style.display=val;    
}
</script>
<style>
#div_hr{position:absolute;top:50px;left:400px;display:none;width:200px;height:200px;}
#xx{position:absolute;left:180px;top:-20px;width:20px;padding-bottom:2px;
 cursor:pointer;color:#FFFFFF; font:14px Verdana sans-serif;text-align:center;background:#FF0000;}    
#div_lin{background:#FFFFFF;padding-top:10px;padding-bottom:10px;}
.but_hr{position:absolute;left:100px;top:140px;width:210px;}  
#prim_hr{ display:inline-block;}

.bg{background: #CCCCCC;padding:5px;}
.me{background:#FFFFFF; padding:10px 0px; width:100%;} 
label{width:180px; text-align:left;padding:0px 0px 0px 10px;}
h4{width:100%; text-align:center; margin:0; padding:0;}
#m2{height:30px;width:100%;}
em{border:solid 1px;}
</style>
</head>
<body>
<button class="but_hr" onclick="my('block');">_________<u>Линия</u>__________</button>

<form  name="form"  action="#">
<div id="div_hr">

    <div id="xx" onclick="my('none');"><b>x</b></div>
    <div class="bg">
        <h4>Выравнивание линии</h4>
        <div ><input onclick="Hrr_config();" name="hrr" id="hrr1"  type="radio" value="right" />&nbsp;cправа</div>
        <div ><input onclick="Hrr_config();" name="hrr" id="hrr2"  type="radio" value="left" />&nbsp;cлева</div>
        <div ><input onclick="Hrr_config();" name="hrr" id="hrr3"  type="radio" value="center" />&nbsp;по центру</div>
        <input name="hrsz" id="hrsz"  type="text" value="10"  size="5" />&nbsp; толщина (px) <br />
        <input name="hrwidth" id="hrwidth"  type="text" value="10" size="5" />&nbsp; длинна (%)<br />
        <div class="me" id="m2"><em id="prim_hr">aaa</em></div> 
    </div>
</div>
</form>
</body>
</html>



вроде работает везде
пришлось заменить ваш <hr> на <em> т.к. в опере 9.5 к <hr> аттрибут align никаким боком не хочет из JS кода применяться

есть такая библиотека JQuery называется, так вот там подобные фокусы можно делать практически не копаясь в JS коде почитай тут http://www.linkexchanger.su/2008/61.html#more-61

   
 
 автор: Николай2357   (02.07.2008 в 10:16)   письмо автору
 
   для: vito   (02.07.2008 в 01:52)
 

Какое огромное СПАСИБО!!!!!!!
Адаптировал под свои нужды - работает даже лучше, чем раньше!
Отдельное спасибо за JQuery .
Нет слов.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования