Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.02.2014, 09:12
Новичок на форуме
Отправить личное сообщение для Jagery Посмотреть профиль Найти все сообщения от Jagery
 
Регистрация: 02.02.2014
Сообщений: 4

Измените скрипт пожалуйста
Нашел этот скрипт, но он работает не совсем так, как хотелось бы.
Нужно, что бы если одно изображение увеличено, а человек нажимает на второе, то первое уменьшается (тоже самое и про второе).
<script>
function resisize(id)
{
        var big = '400', small='100';
        if(document.getElementById(id).width == big)
        {
                document.getElementById(id).width = small;
        }
        else
        {
                document.getElementById(id).width = big;
        }
}


</script>
Ответить с цитированием
  #2 (permalink)  
Старый 02.02.2014, 10:26
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от Jagery
Нашел этот скрипт, но он работает не совсем так, как хотелось бы.
Найди другой...
Ответить с цитированием
  #3 (permalink)  
Старый 02.02.2014, 10:47
Новичок на форуме
Отправить личное сообщение для Jagery Посмотреть профиль Найти все сообщения от Jagery
 
Регистрация: 02.02.2014
Сообщений: 4

Очень смешно.
Ответить с цитированием
  #4 (permalink)  
Старый 02.02.2014, 11:55
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от Jagery
но он работает не совсем так, как хотелось бы.
Приглашайте экстрасенса разгадать как хотелось бы.

Размер берется через offset* (offsetWidth), а задается через @link.stylewidth + units, например "px"

var w = elem.offsetWidth; // получили число
w.style.width = (w+10)+'px';
Ответить с цитированием
  #5 (permalink)  
Старый 02.02.2014, 11:56
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Такая хрень

document.getElementById(id).width = big;

просто создает проперть width которая в доме никому не стучит
Ответить с цитированием
  #6 (permalink)  
Старый 02.02.2014, 12:02
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Ну да, если это image там есть width, но изменить его нельзя, в этом нет смысла. Менять имеет смысл атрибуты разметки, а именно style.width.
Ответить с цитированием
  #7 (permalink)  
Старый 02.02.2014, 12:03
Новичок на форуме
Отправить личное сообщение для Jagery Посмотреть профиль Найти все сообщения от Jagery
 
Регистрация: 02.02.2014
Сообщений: 4

Пожалуйста, напишите готовый код.
Ответить с цитированием
  #8 (permalink)  
Старый 02.02.2014, 12:10
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Ужос... ладно, "Афоня, ты мне рупь должен"

<script>

function toggle_width(id) {

var big = '400', small='100';

var elem = document.getElementById(id);
if(elem) {
  var width = (elem.offsetWidth > big) ? small : big;
  elem.style.width = width + 'px';
}

</script>
Ответить с цитированием
  #9 (permalink)  
Старый 02.02.2014, 12:14
Новичок на форуме
Отправить личное сообщение для Jagery Посмотреть профиль Найти все сообщения от Jagery
 
Регистрация: 02.02.2014
Сообщений: 4

Не работает.
Ответить с цитированием
  #10 (permalink)  
Старый 02.02.2014, 12:20
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Но как вы ее вызывать собираетесь? Через onclick="toggle_width(this/id)" ?

Вешайтесь через js:

var toggle_me = function() {

var b = 400;
var s = 100;
var u = 'px';

this.style.width = (this.offsetWidth > b) ? s+u : b+u;

}

pic1.addEventListener('click', toggle_width, false);
pic2.addEventListener('click', toggle_width, false);

и никакие id вам не стучат

Если пикчей больше - найдите способ получить на них массив ссылок.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2 компьютера 1 хром и 1 скрипт Megatron13 Opera, Safari и др. 1 21.07.2013 19:12
измените скрипт hatomik Общие вопросы Javascript 14 19.11.2012 17:32
Почему скрипт не работает с данными, которые вернул другой скрипт? Rooner jQuery 3 20.09.2012 14:56
Изменить скрипт Изучаю_JS Общие вопросы Javascript 0 12.02.2012 22:05
Исправте пожалуйсто скрипт nemo Общие вопросы Javascript 2 19.12.2009 01:02