Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 30.08.2012, 01:18
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от frant32
а вот переменная arrMyAttrib[0] будет доступна из любого места в скрипте или только в теле функции (onload) ?
Вы можете её вернуть из функции
return arrMyAttrib;
Либо определить её изначально в глобальной области видимости;

Либо определить в теле функции как глобальную
arrMyAttrib = new window.Object()
Ответить с цитированием
  #12 (permalink)  
Старый 30.08.2012, 13:19
Аспирант
Отправить личное сообщение для frant32 Посмотреть профиль Найти все сообщения от frant32
 
Регистрация: 03.02.2012
Сообщений: 67

<html>
 <head> 
   <script>
window.onload = function(){

var img = document.getElementsByTagName('img');

for(i=0;i<img.length;i++){
   var arrMyAttrib=[]
     
   if (img[i].title=="fst"){
      arrMyAttrib.push(img[i]);
    <!--   alert(arrMyAttrib[0].title); -->
   }
}

 alert(arrMyAttrib[0].title); <!--вынес сюда-->

}



  </script>
 </head>
<body>

<img width='50' height='50' title='fst' />
<img width='50' height='50' title='snd' />
<img width='50' height='50' title='trd' />
<img width='50' height='50' title='fth' />
<img width='50' height='50' title='ffth' />


</body>
</html>



а вот почему так не работает (alert(arrMyAttrib[0].title) вынес из if )

Последний раз редактировалось frant32, 30.08.2012 в 13:21.
Ответить с цитированием
  #13 (permalink)  
Старый 30.08.2012, 13:27
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Deff
Либо определить её изначально в глобальной области видимости;
<html>
 <head> 
<script>
var arrMyAttrib=[];
window.onload = function(){

var img = document.getElementsByTagName('img');
for(i=0;i<img.length;i++){

     
   if (img[i].title=="fst"){
      arrMyAttrib.push(img[i]);
    <!--   alert(arrMyAttrib[0].title); -->
   }
}

 alert(arrMyAttrib[0].title); <!--вынес сюда-->

}



  </script>
 </head>
<body>

<img width='50' height='50' title='fst' />
<img width='50' height='50' title='snd' />
<img width='50' height='50' title='trd' />
<img width='50' height='50' title='fth' />
<img width='50' height='50' title='ffth' />


</body>
</html>

Сообщение от Deff
Либо определить в теле функции как глобальную
<html>
 <head> 
   <script>
window.onload = function(){

var img = document.getElementsByTagName('img');
arrMyAttrib = new window.Array()

for(i=0;i<img.length;i++){

     
   if (img[i].title=="fst"){
      arrMyAttrib.push(img[i]);
    <!--   alert(arrMyAttrib[0].title); -->
   }
}

 alert(arrMyAttrib[0].title); <!--вынес сюда-->

}



  </script>
 </head>
<body>

<img width='50' height='50' title='fst' />
<img width='50' height='50' title='snd' />
<img width='50' height='50' title='trd' />
<img width='50' height='50' title='fth' />
<img width='50' height='50' title='ffth' />

<script type="text/javascript">
setTimeout(function() {alert("alert 2: "+arrMyAttrib[0].title)},2100)
</script>
</body>
</html>

Последний раз редактировалось Deff, 30.08.2012 в 13:42.
Ответить с цитированием
  #14 (permalink)  
Старый 30.08.2012, 13:28
Аспирант
Отправить личное сообщение для frant32 Посмотреть профиль Найти все сообщения от frant32
 
Регистрация: 03.02.2012
Сообщений: 67

сделал сам вынес var arrMyAttrib=[] за пределы функции ))) начало работать , но хотелось бы узнать что я сделал ))))
Ответить с цитированием
  #15 (permalink)  
Старый 30.08.2012, 20:04
Аспирант
Отправить личное сообщение для frant32 Посмотреть профиль Найти все сообщения от frant32
 
Регистрация: 03.02.2012
Сообщений: 67

помогите разобратся почему не работает (((

<html>
 <head> 

 
<script type="text/javascript">

function appendLink(imgTitle){
var res = ['http://ya.ru','http://google.ru','http://ex.ua'];
var img = document.getElementsByTagName('img');
var imgArr = [];

  for(i=0;i<img.length;i++){
    if(img.title == imgTitle){
       imgArr.push(img[i]);
	   concretImg = imgArr[0]; 
	}
  } 

  var newLink = document.createElement('a');
  
  if(imgTitle == 'fst'){
     newLink.setAttribute('href',res[0]);
  }else if(imgTitle == 'snd'){
     newLink.setAttribute('href',res[1]);
  }else if(imgTitle == 'trd'){
     newLink.setAttribute('href',res[2]);
  }

 // alert('sdsd');  <-- до етих пор алерт работает 
  
  var td = concretImg.parentNode;
  td.removeChild(concretImg);
  td.appendChild(newLink);
  newLink.appendChild(concretImg);

// здесь алерт уже не работает ...
}

window.onload = function(){ 

appendLink('fst');
appendLink('snd');
appendLink('trd');

}

</script>
 
 </head>
<body>
<table border="1">
<td><img width='50' height='50' title='fst' src = 'http://javascript.ru/forum/images/ca_serenity/misc/logo.gif' /></td>
<td><img width='50' height='50' title='snd' src = 'http://javascript.ru/forum/images/ca_serenity/misc/logo.gif' /></td>
<td><img width='50' height='50' title='trd' src = 'http://javascript.ru/forum/images/ca_serenity/misc/logo.gif' /></td>
</table>
</body>
</html>



срипт должен оборачивать картинку ссылкой по загрузке документа ()

Последний раз редактировалось frant32, 30.08.2012 в 20:09.
Ответить с цитированием
  #16 (permalink)  
Старый 30.08.2012, 20:24
Аспирант
Отправить личное сообщение для frant32 Посмотреть профиль Найти все сообщения от frant32
 
Регистрация: 03.02.2012
Сообщений: 67

<html>
 <head> 

 
<script type="text/javascript">

window.onload = function (e){
var res = ['http://ya.ru','http://google.ru','http://ex.ua'];
var e = e || event;
var target = e.target || e.srcElement;

   if(target.title == 'fst'){
     window.location.assign(res[0]);
   }else if(target.title == 'snd'){
     window.location.assign(res[1]);
   }else if(target.title == 'trd'){
     window.location.assign(res[2]);
   }
}

</script>
 
 </head>
<body>
<table border="1">
<td><img width='50' height='50' title='fst' src = 'http://javascript.ru/forum/images/ca_serenity/misc/logo.gif' /></td>
<td><img width='50' height='50' title='snd' src = 'http://javascript.ru/forum/images/ca_serenity/misc/logo.gif' /></td>
<td><img width='50' height='50' title='trd' src = 'http://javascript.ru/forum/images/ca_serenity/misc/logo.gif' /></td>
</table>
</body>
</html>


решил попробовать так , тоже не получается ....
прошу помощи по обоим вариантам ))
Ответить с цитированием
  #17 (permalink)  
Старый 30.08.2012, 20:25
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

frant32,
if(img.title == imgTitle){
нет элемента - сравнивать можно элемент
img[i].title== imgTitle){
Вот эту конструкцию
Цитата:
if(imgTitle == 'fst'){
22 newLink.setAttribute('href',res[0]);
23 }else if(imgTitle == 'snd'){
24 newLink.setAttribute('href',res[1]);
25 }else if(imgTitle == 'trd'){
26 newLink.setAttribute('href',res[2]);
сделайте через switch - case http://learn.javascript.ru/switch
Ответить с цитированием
  #18 (permalink)  
Старый 30.08.2012, 20:30
Аспирант
Отправить личное сообщение для frant32 Посмотреть профиль Найти все сообщения от frant32
 
Регистрация: 03.02.2012
Сообщений: 67

Сообщение от Deff Посмотреть сообщение
frant32,
if(img.title == imgTitle){
нет элемента - сравнивать можно элемент
img[i].title== imgTitle){
Вот эту конструкцию


сделайте через switch - case http://learn.javascript.ru/switch
большое спасибо забыл что img является списком тегов))))

а через switch - case чем лутше ?
да и со вторым способом не поможете разобратся?

Последний раз редактировалось frant32, 30.08.2012 в 20:38.
Ответить с цитированием
  #19 (permalink)  
Старый 30.08.2012, 20:40
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от frant32
а через switch - case чем лутше ?
Тем что понятней и вываливаешься сразу из каждой проверки -а не куча логических последовательных цепочек - через месяц - вы просто забудете что и к чему в этой логической цепочке и зачем она такая
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DOM модель подсчет тегов документа kent666 Events/DOM/Window 4 17.10.2011 21:51
Вытащить со страницы все значения name и value из тегов <input> qwr938 Общие вопросы Javascript 8 13.02.2011 15:16
Перебор вложенных тегов. werdes jQuery 0 27.07.2010 11:51
Как переместить курсор внутри тегов? alex-v Javascript под браузер 8 29.08.2009 23:07
Изменение css-свойств большОго кол-ва тегов AzriMan Общие вопросы Javascript 2 05.03.2009 15:11