Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Измените скрипт пожалуйста (https://javascript.ru/forum/misc/44789-izmenite-skript-pozhalujjsta.html)

Jagery 02.02.2014 09:12

Измените скрипт пожалуйста
 
Нашел этот скрипт, но он работает не совсем так, как хотелось бы.
Нужно, что бы если одно изображение увеличено, а человек нажимает на второе, то первое уменьшается (тоже самое и про второе).
<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>

ksa 02.02.2014 10:26

Цитата:

Сообщение от Jagery
Нашел этот скрипт, но он работает не совсем так, как хотелось бы.

Найди другой... :D

Jagery 02.02.2014 10:47

Очень смешно.

kostyanet 02.02.2014 11:55

Цитата:

Сообщение от Jagery
но он работает не совсем так, как хотелось бы.

Приглашайте экстрасенса разгадать как хотелось бы.

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

var w = elem.offsetWidth; // получили число
w.style.width = (w+10)+'px';

kostyanet 02.02.2014 11:56

Такая хрень

document.getElementById(id).width = big;

просто создает проперть width которая в доме никому не стучит

kostyanet 02.02.2014 12:02

Ну да, если это image там есть width, но изменить его нельзя, в этом нет смысла. Менять имеет смысл атрибуты разметки, а именно style.width.

Jagery 02.02.2014 12:03

Пожалуйста, напишите готовый код.

kostyanet 02.02.2014 12:10

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

<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>

Jagery 02.02.2014 12:14

Не работает.

kostyanet 02.02.2014 12:20

Но как вы ее вызывать собираетесь? Через 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 вам не стучат

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


Часовой пояс GMT +3, время: 06:10.