Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как сделать так чтобы постянно заменялся некотрый элемнт строки
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Как сделать так чтобы постянно заменялся некотрый элемнт строки

Страниц (1): [1]
 

1. grafillo - 25 Июня, 2013 - 20:19:45 - перейти к сообщению
Есть ссылка img/10m.jpg , как сделать так чтобы функция меняла 0 на 1, то есть постоянно меняла шестой элемент строки?
2. AlexAnder - 25 Июня, 2013 - 20:25:01 - перейти к сообщению
Цитата:
функция постоянно меняла

3. IllusionMH - 25 Июня, 2013 - 20:46:10 - перейти к сообщению
grafillo, если точно известен интекс символа в строке, то str[6] = '0';
Иначе String[dot]replace
4. grafillo - 25 Июня, 2013 - 21:14:06 - перейти к сообщению
да известен индекс его надо заменить, напишите пожалуйста полностью как будет выглядеть функция
5. IllusionMH - 26 Июня, 2013 - 09:58:26 - перейти к сообщению
дел. Фигню выше написал.
6. DeepVarvar - 26 Июня, 2013 - 10:14:31 - перейти к сообщению
Да ладно тебе. Пусть юзает в соответствии с его описанием:
CODE (javascript):
скопировать код в буфер обмена
  1. function replaceSymbol(img) {
  2.   img.src[6] = '1';
  3.   setTimeout(function(){
  4.     replaceSymbol(img);
  5.   }, 200);
  6. }
  7.  
  8. var imgs = document.getElementsByTagName("img");
  9. for (var i in imgs) {
  10.   replaceSymbol(imgs[i]);
  11. }
7. IllusionMH - 26 Июня, 2013 - 11:29:20 - перейти к сообщению
DeepVarvar, я имел в виду, что я в качестве ответа
IllusionMH пишет:
str[6] = '0';

написал фигню и нельзя так делать. С утром проснулся и проверил. Хм

grafillo, рабочий код
CODE (javascript):
скопировать код в буфер обмена
  1. var str = 'img/10m.jpg',
  2. n=5, //считаем с нуля
  3. str1 = str.substr(0,n) + '1' + str.substr(n+1);
  4. console.log(str1);

И вы просите рабочую функцию...
Тут начинается самое интересное: угадывание
1) Откуда берется эта строка(ссылка)?
2) Когда она должна менятся? Что значит всегда? А если браузер закрыть, тоже должна менятся?

DeepVarvar, там же сказано ссылка, чтобы наверняка:
CODE (javascript):
скопировать код в буфер обмена
  1. function replaceSymbolImg(img) {
  2. var n = 5;
  3. img.src = img.src.substr(0,n) + '1' + img.src.substr(n+1);
  4.   img.src[6] = '1';
  5.   setTimeout(function(){
  6.     replaceSymbolImg(img);
  7.   }, 200);
  8. }
  9. function replaceSymbolA(a) {
  10. var n = 5;
  11. a.href = a.href.substr(0,n) + '1' + a.href.substr(n+1);
  12.   setTimeout(function(){
  13.     replaceSymbolA(a);
  14.   }, 200);
  15. }
  16.  
  17. var imgs = document.getElementsByTagName("img");
  18. for(var i = 0, imgsn = imgs.length, i < imgsn, i++) {
  19.   replaceSymbolImg(imgs[i]);
  20. }
  21. var as = document.getElementsByTagName("a");
  22. for(var i = 0, asn = as.length, i < an, i++) {
  23.   replaceSymbolA(as[i]);
  24. }
8. grafillo - 26 Июня, 2013 - 13:08:46 - перейти к сообщению
- вот это вот не работает
а метод substr норм помог, а метод который заменял бы символ по номеру такого нету?
9. IllusionMH - 26 Июня, 2013 - 13:23:34 - перейти к сообщению
grafillo, вы читали то что выше? Ужа отписались что не прокатит
grafillo пишет:
метод который заменял бы символ по номеру такого нету?

Можете поискать тут https://developer[dot]mozilla[dot]org/en[dot][dot][dot]l_Objects/String

Или придумать регулярку для replace
10. AlexAnder - 26 Июня, 2013 - 13:40:13 - перейти к сообщению

DeepVarvar пишет:
CODE (javascript):
скопировать код в буфер обмена
  1. setTimeout(function(){
  2.     replaceSymbol(img);
  3.   }, 200);

почему бы не так
CODE (javascript):
скопировать код в буфер обмена
  1. setTimeout(replaceSymbol, 200, img);

||
CODE (javascript):
скопировать код в буфер обмена
  1. setTimeout("replaceSymbol(img)", 200);

?
11. IllusionMH - 26 Июня, 2013 - 13:43:51 - перейти к сообщению
AlexAnder, разве в первом варинате будет замыкание? Насчет второго не уверен.

 

Powered by ExBB FM 1.0 RC1