Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как вырезать часть из src (https://javascript.ru/forum/jquery/59968-kak-vyrezat-chast-iz-src.html)

AnnushkaV 04.12.2015 22:45

Как вырезать часть из src
 
Всем привет) Ломаю голову над такой задачей: если src="http://img04.deviantart.net/2357/i/2011/201/c/8/vitrage.jpg" , то в переменную сохранить vitrage, если src="image/vitrage.jpg", то в переменную сохранить тоже vitrage. Подскажите, пожалуйста)

laimas 05.12.2015 06:32

var a = src.split('/').pop()


Либо substr с последней позиции "/". Если только имя без расширения, то удалить расширение.

AnnushkaV 05.12.2015 18:07

Цитата:

Сообщение от laimas (Сообщение 398780)
var a = src.split('/').pop()


Либо substr с последней позиции "/". Если только имя без расширения, то удалить расширение.

Спасибо, все сработало)

AnnushkaV 06.12.2015 13:21

Решаю задачу дальше
 
Дальше по ходу решения своей задачи столкнулась со следующим http://codepen.io/AnnushkaV/pen/ZQELmL . Вырезала часть src. Эта часть src - это ID описания для соответствующей картинки. т.е. при клике на маленькую картинку рядом открывается большая ее версия. При наведении на большую картинку(блок справа), появляется описание для большой картинки. Описание появляется, но оно накапливается после каждого клика по маленькой картинке и наведения на большую. Как сделать что бы выводилось каждый раз только описание для выбранной картинки? Спасибо.

Mess4me 06.12.2015 13:30

AnnushkaV,
а что означает накапливается?
Я попробывал - вроде всё ок.

laimas 06.12.2015 13:31

mouseover заменить на mouseenter. Только зачем же так писать:

var bigImg = $(".films-descr");
bigImg.on('mouseover', function(){
var $this = $(bigImg); //а ведь уже кеширован объект в bigImg, причем $this далее не используется
var str = $(this).closest('div#img-container').find('img').attr('src'); //и здесь тоже самое $(this) и есть bigImg
var res = str.split("/").pop();
var res1 = res.split(".").shift();
$(this).find("#" + res1).show(); //опять ...

AnnushkaV 06.12.2015 13:33

Цитата:

Сообщение от laimas (Сообщение 398913)
mouseover заменить на mouseenter. Только зачем же так писать:

var bigImg = $(".films-descr");
bigImg.on('mouseover', function(){
var $this = $(bigImg); //а ведь уже кеширован объект в bigImg, причем $this далее не используется
var str = $(this).closest('div#img-container').find('img').attr('src'); //и здесь тоже самое $(this) и есть bigImg
var res = str.split("/").pop();
var res1 = res.split(".").shift();
$(this).find("#" + res1).show(); //опять ...

третий день пишу на jQuery) пишу пока так что бы не потеряла логику

laimas 06.12.2015 13:41

Цитата:

Сообщение от AnnushkaV
пишу пока так что бы не потеряла логику

Так тут как раз и нет логики :)

AnnushkaV 06.12.2015 13:46

Цитата:

Сообщение от laimas (Сообщение 398917)
Так тут как раз и нет логики :)

пока учусь) поменяла mouseover на mouseenter. не сработало(

AnnushkaV 06.12.2015 13:48

Цитата:

Сообщение от Mess4me (Сообщение 398912)
AnnushkaV,
а что означает накапливается?
Я попробывал - вроде всё ок.

когда первый раз наводите, то нормально, а если потом кликаете на маленькой, а потом hover на большую, то описание и текущей картинки и предыдущей


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